@Override
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
        username = ExternalizableUtil.getInstance().readSafeUTF(in);
        name = ExternalizableUtil.getInstance().readSafeUTF(in);
        if (ExternalizableUtil.getInstance().readBoolean(in)) {
            email = ExternalizableUtil.getInstance().readSafeUTF(in);
        }
        final long creation = ExternalizableUtil.getInstance().readLong(in);
        creationDate = creation == 0 ? null: new Date(creation);
        final long modification = ExternalizableUtil.getInstance().readLong(in);
        modificationDate = modification == 0 ? null : new Date(modification);
    }
Set implementation that updates the database when properties are deleted.
xmppserver/src/main/java/org/jivesoftware/openfire/user/User.java