core/src/main/java/org/sakaiproject/nakamura/api/lite/authorizable/Authorizable.java
public void setProperty(String name, Object value) {
        if (!readOnly && !FILTER_PROPERTIES.contains(name)) {
            Object cv = authorizableMap.get(name);
            if ( value == null  ) {
                if ( cv != null && !(cv instanceof RemoveProperty)) {
                    modifiedMap.put(name, new RemoveProperty());
                }
            } else if (!value.equals(cv)) {
                modifiedMap.put(name, value);
            } else if (modifiedMap.containsKey(name) && !value.equals(modifiedMap.get(name))) {
                modifiedMap.put(name, value);
            }

        }
    }
public void setProperty(String name, Object value) {
        if (!readOnly && !FILTER_PROPERTIES.contains(name)) {
            Object cv = authorizableMap.get(name);
            if ( value == null  ) {
                if ( cv != null && !(cv instanceof RemoveProperty)) {
                    modifiedMap.put(name, new RemoveProperty());
                }
            } else if (!value.equals(cv)) {
                modifiedMap.put(name, value);
            } else if (modifiedMap.containsKey(name) && !value.equals(modifiedMap.get(name))) {
                modifiedMap.put(name, value);
            }

        }
    }
Set a property. The property will only be set if writable. If the property or this athorizable is read only, nothing will happen.
@param name the name of the property
@param value the value of the property.