private void updateTagsOnNode(final HidePopupRequestEvent event, final Set<String> editedTags) {
        final ExplorerNode updatedNode = getSingleNode().copy()
                .tags(editedTags)
                .build();
        restFactory
                .create(EXPLORER_RESOURCE)
                .method(res -> res.updateNodeTags(updatedNode))
                .onSuccess(explorerNode -> {
                    // Update the node in the tree with the new tags
                    RefreshDocumentEvent.fire(
                            ExplorerNodeEditTagsPresenter.this,
                            explorerNode.getDocRef());
                    event.hide();
                })
                .onFailure(RestErrorHandler.forPopup(this, event))
                .taskMonitorFactory(this)
                .exec();
    }
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