void (@NotNull final AnActionEvent e, final boolean state) { if (!state) return; final DebuggerContextImpl debuggerContext = DebuggerAction.getDebuggerContext(e.getDataContext()); final List<JavaValue> values = getSelectedValues(e); final List<XValueNodeImpl> selectedNodes = XDebuggerTreeActionBase.getSelectedNodes(e.getDataContext()); LOG.assertTrue(!values.isEmpty()); DebugProcessImpl process = debuggerContext.getDebugProcess(); if (process == null) { return; } process.getManagerThread().schedule(new DebuggerContextCommandImpl(debuggerContext) { @Override public void threadAction(@NotNull SuspendContextImpl suspendContext) { for (XValueNodeImpl node : selectedNodes) { XValue container = node.getValueContainer(); if (container instanceof JavaValue) { ((JavaValue)container).setRenderer(myNodeRenderer, node); } } } }); }