docs: public PropertyMetadata visitProperty(T owningType,
                                            T declaringType,
                                            String propertyType,
                                            String name,
                                            @Nullable String description,
                                            @Nullable String defaultValue) {
  
          PropertyMetadata metadata = new PropertyMetadata();
          metadata.declaringType = getTypeString(declaringType);
          metadata.name = name;
          metadata.path = NameUtils.hyphenate(buildPropertyPath(owningType, declaringType, name), true);
          metadata.type = propertyType;
          metadata.description = description;
          metadata.defaultValue = defaultValue;
          properties.add(metadata);
          return metadata;
      }