public Map<OperationResourceInfo, ClassResourceInfo> getUrlMapping() {
		if ( urlMapping == null ) {
			urlMapping = new LinkedHashMap<OperationResourceInfo, ClassResourceInfo>();
			List<? extends Controller> controllers = getControllers();
			for ( Controller controller : controllers ) {
				Method[] methods = controller.getClass().getSuperclass().getDeclaredMethods();
				for ( Method method : methods ) {
					UrlMapping annotation = method.getAnnotation(UrlMapping.class);
					if ( annotation != null ) {
						urlMapping.put(new OperationResourceInfo(annotation), new ClassResourceInfo(controller, method));
					}
				}
			}
		}
		return urlMapping;
	}