@Override
        public boolean remove(Object o) {
            boolean propertyExists = delegate.remove(o);
            if (propertyExists) {
                deleteProperty((String)((Entry<K,V>)o).getKey(), (String)((Entry<K,V>)o).getValue());
            }
            return propertyExists;
        }
Removes the given key from the backing map, and applies the
corresponding update to the database.

@param o A {@link Map.Entry} within this set
@return True if the set contained the given key
xmppserver/src/main/java/org/jivesoftware/openfire/group/DefaultGroupPropertyMap.java