private void registerImplementation(JDefinedClass jInterface,
                                      String nodeName,
                                      JsonNode node,
                                      Schema schema) {
    interfaceImplementation.put(jInterface.fullName(), (jClass) -> {
      ruleFactory.getPropertiesRule().apply(nodeName, node.get("properties"), node, jClass, schema);
      removeAdditionalProperties(jClass);
      if (node.has("patternProperties")) {
        ruleFactory.getPatternPropertiesRule().apply(nodeName, node.get("patternProperties"), node, jClass, schema);
      }
      else {
        ruleFactory.getAdditionalPropertiesRule().apply(nodeName, node.get("additionalProperties"), node, jClass, schema);
      }
    });
  }
private void registerImplementation(JDefinedClass jInterface,
                                      String nodeName,
                                      JsonNode node,
                                      Schema schema)