private void showTab(final K presenterKey,
                         final T tabPresenter,
                         final CloseContentEvent.Handler closeHandler,
                         final TaskMonitor taskMonitor,
                         final Task task) {
        try {
            if (presenterKey == null) {
                AlertEvent.fireError(
                        AbstractTabPresenterPlugin.this,
                        "Unable to load " + getName() + " (null)",
                        null);
            } else {
                // Open the tab.
                contentManager.open(
                        closeHandler,
                        tabPresenter,
                        tabPresenter);
            }
        } finally {
            // Stop spinning.
            taskMonitor.onEnd(task);
        }
    }
@param forceOpen            If false will not open the presenter if it is not already open
@param presenterKey         The unique key that identifies the presenter
@param tabPresenterConsumer Method to modify the presenter before it is opened, i.e. telling
                            it what content to display.
@return The
stroom-core-client/src/main/java/stroom/data/client/AbstractTabPresenterPlugin.java