void (JDefinedClass jClass, String nodeName, JsonNode node, JPackage jPackage, Schema schema) { List<JType> superTypes = reflectionHelper.getSuperTypesFromAllAnyOne(nodeName, node, jPackage, schema); for (JType superType : superTypes) { if (superType instanceof JClass && ((JClass)superType).isInterface()) { jClass._implements((JClass)superType); if (!jClass.isInterface()) { // apply implementation here Consumer<JDefinedClass> implementation = interfaceImplementation.get(superType.fullName()); if (implementation == null) { this.ruleFactory.getLogger().error("Cannot implement interface " + superType.fullName() + " of " + jClass.fullName()); } else { implementation.accept(jClass); mergeJsonPropertyOrder(jClass); } } } } }