docs: @Override
      public JDefinedClass apply(String nodeName, JsonNode node, JsonNode parent, JDefinedClass jclass, Schema currentSchema) {
          if (!ruleFactory.getGenerationConfig().isIncludeDynamicAccessors() ||
                  (!ruleFactory.getGenerationConfig().isIncludeDynamicSetters() &&
                  !ruleFactory.getGenerationConfig().isIncludeDynamicGetters() &&
                  !ruleFactory.getGenerationConfig().isIncludeDynamicBuilders())) {
              return jclass;
          }
  
          boolean isIncludeGetters = ruleFactory.getGenerationConfig().isIncludeGetters();
          boolean isIncludeSetters = ruleFactory.getGenerationConfig().isIncludeSetters();
          boolean isGenerateBuilders = ruleFactory.getGenerationConfig().isGenerateBuilders();
  
          if (isIncludeGetters || isIncludeSetters || isGenerateBuilders) {
              if (LanguageFeatures.canUseJava7(ruleFactory.getGenerationConfig())) {
                  if (isIncludeSetters) {
                      addInternalSetMethodJava7(jclass, node);
                  }
                  if (isIncludeGetters) {
                      addInternalGetMethodJava7(jclass, node);
                  }
              } else {
                  if (isIncludeSetters) {
                      addInternalSetMethodJava6(jclass, node);
                  }
                  if (isIncludeGetters) {
                      addInternalGetMethodJava6(jclass, node);
                  }
              }
          }
  
          if (isIncludeGetters) {
              addGetMethods(jclass);
          }
  
          if (isIncludeSetters) {
              addSetMethods(jclass);
          }
  
          if (isGenerateBuilders) {
              addWithMethods(jclass);
          }
  
          return jclass;
      }