void (@NotNull final AnActionEvent e) { DebuggerTreeNodeImpl[] selectedNode = getSelectedNodes(e.getDataContext()); final DebuggerContextImpl debuggerContext = getDebuggerContext(e.getDataContext()); final DebugProcessImpl debugProcess = debuggerContext.getDebugProcess(); if (debugProcess == null) return; //noinspection ConstantConditions for (final DebuggerTreeNodeImpl debuggerTreeNode : selectedNode) { final ThreadDescriptorImpl threadDescriptor = ((ThreadDescriptorImpl)debuggerTreeNode.getDescriptor()); if (threadDescriptor.isSuspended()) { final ThreadReferenceProxyImpl thread = threadDescriptor.getThreadReference(); debugProcess.getManagerThread().schedule(new DebuggerCommandImpl() { @Override protected void action() throws Exception { SuspendContextImpl suspendingContext = SuspendManagerUtil.getSuspendingContext(debugProcess.getSuspendManager(), thread); if (suspendingContext != null) { debugProcess.createResumeThreadCommand(suspendingContext, thread).run(); } debuggerTreeNode.calcValue(); } }); } } }