code: public <T> void set(PropertyKey<T> property, T value) {
      properties.put(property.getName(), value);
    }
docs: Associates the specified value with the specified property key. If the properties previously contained a mapping for the property key, the old
  value is replaced by the specified value.
  
  @param <T>
  the type of the value
  @param property
  the property key with which the specified value is to be associated
  @param value
  the value to be associated with the specified property key