code: public boolean setProperty(String name, Object value) throws FrozenException {
  		synchronized(lock) {
  			checkNotFrozen();
  			if(properties == null) {
  				properties = new LinkedHashMap<>();
  			} else if(properties.containsKey(name)) {
  				return false;
  			}
  			properties.put(name, value);
  			return true;
  		}
  	}
docs: Sets a property on this node, if the property has not already been set.
  Setting a property to {@code null} still marks the property as used and associates it with {@code null}.
  
  @return  {@code true} when the property was added or {@code false} when the property already existed
  (including possibly with a {@code null} value).
  
  @throws  FrozenException  properties may not be set once the node is frozen