code: protected Object getInjectedValue(Service service) {
  
      if (type == UserData.class) {
        return service.getUserData();
  
      } else if (type == PageMerger.class) {
        return service.getPageMerger();
  
      } else if (type == DataBinder.class) {
        return service.getBinder();
  
      } else if (type == HttpImplementor.class) {
        return service.getHttpImplementor();
  
      } else if (type == ServiceRequestImplementor.class) {
        return service.getRequestImplementor();
  
      } else if (type == Workspace.class) {
        return service.getWorkspace();
  
      } else if (ExecutionContext.class.isAssignableFrom(type)) {
        return service;
      }
  
      throw new IllegalStateException("Injectable type " + type.getName() + " not known.");
    }
docs: Special case for Injectable type. Injects the required parameter from the
  ExecutionContext (service)
  
  @param service
  @return