code: public static BeanInfo processProperties( RebindConfiguration configuration, TreeLogger logger, JacksonTypeOracle typeOracle,
                                                BeanInfo beanInfo, PropertiesContainer properties ) {
          if ( !properties.getValuePropertyInfo().isPresent() && !properties.getAnyGetterPropertyInfo().isPresent() && !properties
                  .getAnySetterPropertyInfo().isPresent() ) {
              return beanInfo;
          }
  
          BeanInfoBuilder builder = new BeanInfoBuilder( beanInfo );
          builder.setValuePropertyInfo( properties.getValuePropertyInfo() );
  
          if ( properties.getValuePropertyInfo().isPresent() && beanInfo.getTypeInfo().isPresent() && As.PROPERTY.equals( beanInfo
                  .getTypeInfo().get().getInclude() ) ) {
              // if the bean has type info on property with @JsonValue, we change it to WRAPPER_ARRAY because the value may not be an object
              BeanTypeInfo typeInfo = beanInfo.getTypeInfo().get();
              builder.setTypeInfo( Optional.of( new BeanTypeInfo( typeInfo.getUse(), As.WRAPPER_ARRAY, typeInfo
                      .getPropertyName(), typeInfo.getMapTypeToSerializationMetadata(), typeInfo.getMapTypeToDeserializationMetadata() ) ) );
          }
  
          builder.setAnyGetterPropertyInfo( properties.getAnyGetterPropertyInfo() );
          builder.setAnySetterPropertyInfo( properties.getAnySetterPropertyInfo() );
  
          return builder.build();
      }
docs: Process the properties of the bean to find additionnal informations like @JsonValue.
  
  @param configuration the configuration
  @param logger the logger
  @param typeOracle the oracle
  @param beanInfo the previous bean information
  @param properties the properties of the bean
  @return the new informations about the bean and its properties