code: @SuppressWarnings("unused")
      @Internal
      @UsedByGeneratedCode
      protected final void addProperty(@Nonnull BeanProperty<T, Object> property) {
          ArgumentUtils.requireNonNull("property", property);
          beanProperties.put(property.getName(), property);
      }
docs: Adds a property at a particular index of the internal array passed to the constructor. Used by
  generated byte code for subclasses and not for public consumption.
  
  @param property The property.