@Override
    protected void addStageInformation(@Nonnull final SessionData data, Element command) {
        final Locale preferredLocale = SessionManager.getInstance().getLocaleForSession(data.getOwner());

        DataForm form = new DataForm(DataForm.Type.form);
        form.setTitle(LocaleUtils.getLocalizedString("commands.event.usermodified.form.title", preferredLocale));
        form.addInstruction(LocaleUtils.getLocalizedString("commands.event.usermodified.form.instruction", preferredLocale));

        FormField field = form.addField();
        field.setType(FormField.Type.hidden);
        field.setVariable("FORM_TYPE");
        field.addValue("http://jabber.org/protocol/admin");

        field = form.addField();
        field.setType(FormField.Type.text_single);
        field.setLabel(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.username.label", preferredLocale));
        field.setVariable("username");
        field.setRequired(true);

        field.setType(FormField.Type.list_single);
        field.setLabel(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.label", preferredLocale));
        field.setVariable("changeType");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.namemodified.label", preferredLocale), "nameModified");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.emailmodified.label", preferredLocale), "emailModified");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.passwordmodified.label", preferredLocale), "passwordModified");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.creationdatemodified.label", preferredLocale), "creationDateModified");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.modificationdatemodified.label", preferredLocale), "modificationDateModified");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.propertymodified.label", preferredLocale), "propertyModified");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.propertyadded.label", preferredLocale), "propertyAdded");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.propertydeleted.label", preferredLocale), "propertyDeleted");
        field.addOption(LocaleUtils.getLocalizedString("commands.event.usermodified.form.field.changetype.option.other.label", preferredLocale), "other");
        field.setRequired(true);

        field = form.addField();
        field.setType(FormField.Type.text_single);
        field.setLabel(LocaleUtils.getLocalizedString("", preferredLocale));
        field.setVariable("originalValue");

        field = form.addField();
        field.setType(FormField.Type.text_single);
        field.setLabel(LocaleUtils.getLocalizedString("", preferredLocale));
        field.setVariable("propertyKey");

        // Add the form to the command
        command.add(form.getElement());
    }
Notifies the that a user was modified. It can be used by user providers to notify Openfire of the
modification of a user.

@author Gabriel Guarincerri
xmppserver/src/main/java/org/jivesoftware/openfire/commands/event/UserModified.java