@Override
    public void onHideRequest(final HidePopupRequestEvent e) {
        if (e.isOk()) {
            final Set<String> editedTags = getView().getNodeTags();

            if (isSingleDocRef()) {
                if (!Objects.equals(getSingleNode().getTags(), editedTags)) {
                    updateTagsOnNode(e, editedTags);
                } else {
                    e.hide();
                }
            } else {
                if (NullSafe.hasItems(editedTags)) {
                    addTagsToNodes(e, editedTags);
                } else {
                    e.hide();
                }
            }
        } else {
            e.hide();
        }
    }
Presenter for editing the tags on a single node or adding tags to multiple nodes.
See {@link ExplorerNodeRemoveTagsPresenter} for tag removal on multiple nodes.
stroom-core-client/src/main/java/stroom/explorer/client/presenter/ExplorerNodeEditTagsPresenter.java