code: final public <T> Property with(Option<T> option, T value) {
          if(value != null){
              options.addOrSet(option, value);
          }
          return this;
      }
docs: Adds an option
  @param option Option type to be added
  @param value Option value
  @param <T> Type of option value
  @return current property instance (this)