@Override
    public V remove(Object key) {
        V result = super.remove(key);
        if (key instanceof String) {
            deleteProperty((String)key, (String)result);
        }
        return result;
    }
Custom method to put properties into the map, optionally without
triggering persistence. This is used when the map is being 
initially loaded from the database.

@param key The property name
@param value The property value
@param persist True if the changes should be persisted to the database
@return The original value or null if the property did not exist
xmppserver/src/main/java/org/jivesoftware/openfire/group/DefaultGroupPropertyMap.java