@Override
  public JType getSuperType(String nodeName, JsonNode node, JPackage jPackage, Schema schema) {
    List<JType> superTypes = getSuperTypesFromAllAnyOne(nodeName, node, jPackage, schema);
    if (!superTypes.isEmpty()) {
      JType result = null;
      for (JType superType : superTypes) {
        if (superType instanceof JClass && !((JClass)superType).isInterface()) {
          if (result != null) {
            ruleFactory.getLogger().error(
              "Only one of super types provided through 'anyOf' can be a class. Specify '\"x-java-interface\": true' on others to make them interfaces. Error for " +
              nodeName + " and superTypes: " + superType.name() + " and " + result.name());
            break;
          }
          result = superType;
        }
      }
      if (result != null) {
        return result;
      }
    }
    return super.getSuperType(nodeName, node, jPackage, schema);
  }
@Override
  public JType getSuperType(String nodeName, JsonNode node, JPackage jPackage, Schema schema)