code: Response getResponseFor(Request request) {
          ProcessingRule rule;
          String methodName = request.getMethodName();
          if (rules.containsKey(methodName)) {
              rule = rules.get(methodName);
          } else {
              String message = String.format("method '%s' did not match any processing rule", methodName);
              return new FatalErrorResponse(message);
          }
  
          Response response;
          try {
              Object result = rule.getUserImplementation().process(request.getParams());
              response = new ValidResponse(request.getId(), result);
          } catch (Exception e) {
              String message = "user implementation raised exception";
              LoggerFactory.getLogger(ProcessingRules.class).warn(message, e);
              return new FatalErrorResponse(message);
          }
          return response;
      }
docs: ~~~ Accessors