void (@NotNull final AnActionEvent e) { DebuggerTreeNodeImpl[] selectedNode = getSelectedNodes(e.getDataContext()); if (selectedNode == null) { return; } final DebuggerContextImpl debuggerContext = getDebuggerContext(e.getDataContext()); final DebugProcessImpl debugProcess = debuggerContext.getDebugProcess(); for (final DebuggerTreeNodeImpl debuggerTreeNode : selectedNode) { ThreadDescriptorImpl threadDescriptor = ((ThreadDescriptorImpl)debuggerTreeNode.getDescriptor()); final ThreadReferenceProxyImpl thread = threadDescriptor.getThreadReference(); if (!threadDescriptor.isFrozen()) { debugProcess.getManagerThread().schedule(new DebuggerCommandImpl() { @Override protected void action() throws Exception { debugProcess.createFreezeThreadCommand(thread).run(); debuggerTreeNode.calcValue(); } }); } } }