void (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); } }); }