public boolean isEnabled(JMenuItem pItem, Action pAction) {
        String hookName = ((NodeHookAction) pAction).getHookName();
        logger.fine("Enabled for " + hookName);
        if (SearchInMapForNodeTextAction.NODE_CONTEXT_PLUGIN_NAME
                .equals(hookName)) {
            return true;
        }
        if (ShowMapToNodeAction.NODE_CONTEXT_PLUGIN_NAME.equals(hookName)
                || AddLinkToMapAction.NODE_CONTEXT_PLUGIN_NAME.equals(hookName)
                || RemoveMapToNodeAction.NODE_CONTEXT_PLUGIN_NAME
                .equals(hookName)
                || AddMapImageToNodeAction.NODE_CONTEXT_PLUGIN_NAME
                .equals(hookName)) {
            for (Iterator it = controller.getSelecteds().iterator(); it
                    .hasNext(); ) {
                MindMapNode node = (MindMapNode) it.next();
                MapNodePositionHolder hook = MapNodePositionHolder
                        .getHook(node);
                if (hook != null) {
                    return true;
                }
            }
        }
        return false;
    }