core/src/main/java/org/sakaiproject/nakamura/lite/content/InternalContent.java
public void setProperty(String key, Object value) {
        if (readOnly) {
            return;
        }
        if (value == null) {
            throw new IllegalArgumentException("value must not be null");
        }
        Object o = content.get(key);
        if (!value.equals(o)) {
            updatedContent.put(key, value);
            updated = true;
        } else if (updatedContent.containsKey(key) && !value.equals(updatedContent.get(key))) {
            updatedContent.put(key, value);
            updated = true;
        }

    }
public void setProperty(String key, Object value) {
        if (readOnly) {
            return;
        }
        if (value == null) {
            throw new IllegalArgumentException("value must not be null");
        }
        Object o = content.get(key);
        if (!value.equals(o)) {
            updatedContent.put(key, value);
            updated = true;
        } else if (updatedContent.containsKey(key) && !value.equals(updatedContent.get(key))) {
            updatedContent.put(key, value);
            updated = true;
        }

    }
set a property, creating if it does not exist, overwriting if it does.

@param key
the key for the property
@param value
the value for the property in storage format created with
StorageContentUtils.toStore(). Must not be null.