src/main/java/js/rest/RestServlet.java
@Override
	public void init(ServletConfig config) throws UnavailableException {
		super.init(config);
		for (ManagedMethodSPI managedMethod : container.getManagedMethods()) {
			if (!managedMethod.isRemotelyAccessible()) {
				continue;
			}
			if (!Types.isKindOf(managedMethod.getReturnType(), Resource.class)) {
				restMethods.put(key(managedMethod), managedMethod);
			}
		}
	}
@Override
	public void init(ServletConfig config) throws UnavailableException {
		super.init(config);
		for (ManagedMethodSPI managedMethod : container.getManagedMethods()) {
			if (!managedMethod.isRemotelyAccessible()) {
				continue;
			}
			if (!Types.isKindOf(managedMethod.getReturnType(), Resource.class)) {
				restMethods.put(key(managedMethod), managedMethod);
			}
		}
	}
Performed super-initialization by {@link AppServlet#init(ServletConfig)} and loads REST methods cache. A REST method is a
remotely accessible method that does not return a {@link Resource}. Map storage key is generated by
{@link #key(ManagedMethodSPI)} based on managed class and REST method request paths and is paired with retrieval key -
{@link #key(String)}, generated from request path info when method invocation occurs.

@param config servlet configuration object.
@throws UnavailableException if tiny container is not properly initialized.