code: public Object put(String propertyName, Object newValue) {
          if (VALID_KEY.matcher(propertyName).matches() == false) {
              throw new IllegalArgumentException("Invalid key for FlexiBean: " + propertyName);
          }
          return dataWritable().put(propertyName, newValue);
      }
docs: Sets a property in this bean to the specified value.
  <p>
  This creates a property if one does not exist.
  
  @param propertyName  the property name, not empty
  @param newValue  the new value, may be null
  @return the old value of the property, may be null