docs: @Override
      public JFieldVar apply(String nodeName, JsonNode node, JsonNode parent, JFieldVar field, Schema currentSchema) {
  
          boolean defaultPresent = node != null && isNotEmpty(node.asText());
  
          String fieldType = field.type().fullName();
  
          if (defaultPresent && !field.type().isPrimitive() && node.isNull()) {
              field.init(JExpr._null());
  
          } else if (fieldType.startsWith(List.class.getName())) {
              field.init(getDefaultList(field.type(), node));
  
          } else if (fieldType.startsWith(Set.class.getName())) {
              field.init(getDefaultSet(field.type(), node));
          } else if (fieldType.startsWith(String.class.getName()) && node != null ) {
              field.init(getDefaultValue(field.type(), node));
          } else if (defaultPresent) {
              field.init(getDefaultValue(field.type(), node));
  
          }
  
          return field;
      }