code: protected void extractPropertyDescriptor(Field field, Object defaultInstance)
      {
          DefaultPropertyDescriptor desc = new DefaultPropertyDescriptor();
  
          // is parameter hidden
          PropertyHidden parameterHidden = field.getAnnotation(PropertyHidden.class);
  
          if (parameterHidden == null) {
              // get parameter id
              PropertyId propertyId = field.getAnnotation(PropertyId.class);
              desc.setId(propertyId != null ? propertyId.value() : field.getName());
  
              // set parameter type
              desc.setPropertyType(field.getGenericType());
  
              // get parameter name
              PropertyName parameterName = field.getAnnotation(PropertyName.class);
  
              desc.setName(parameterName != null ? parameterName.value() : desc.getId());
  
              // get parameter description
              PropertyDescription parameterDescription = field.getAnnotation(PropertyDescription.class);
  
              desc.setDescription(parameterDescription != null ? parameterDescription.value() : desc.getId());
  
              Map<Class, Annotation> annotations = new HashMap<>();
              COMMON_ANNOTATION_CLASSES.forEach(aClass ->
                      annotations.put(aClass, field.getAnnotation(aClass))
              );
  
              setCommonProperties(desc, annotations);
  
              if (defaultInstance != null) {
                  // get default value
                  try {
                      desc.setDefaultValue(field.get(defaultInstance));
                  } catch (Exception e) {
                      LOGGER.error(
                              MessageFormat.format("Failed to get default property value from field {0} in class {1}",
                                      field.getName(), this.beanClass), e);
                  }
              }
  
              desc.setField(field);
  
              this.parameterDescriptorMap.put(desc.getId(), desc);
          }
      }
docs: Extract provided properties informations and insert it in {@link #parameterDescriptorMap}.
  
  @param field the JAVA bean property descriptor.
  @param defaultInstance the default instance of bean class.