public Result list(String name) {
   F.Either<ControllerProxy, ? extends Result> cnf = controllerOrNotFound(name);
   if (cnf.right.isDefined()) return cnf.right.get();
   ControllerProxy controller = cnf.left.get();
   if (controller == null) {
     return controllerNotFound(name);
   }
   return controller.list();
 }