void () { LOG.assertTrue(SwingUtilities.isEventDispatchThread()); InvokeRatherLaterRequest request = myRatherLaterRequests.get(0); request.invokesN++; if (request.invokesN == RATHER_LATER_INVOKES_N) { myRatherLaterRequests.remove(0); if (!myRatherLaterRequests.isEmpty()) pumpSwingThread(); } if (request.myDebuggerCommand instanceof SuspendContextCommandImpl) { request.myDebugProcess.getManagerThread().schedule(new SuspendContextCommandImpl( ((SuspendContextCommandImpl)request.myDebuggerCommand).getSuspendContext()) { @Override public void contextAction(@NotNull SuspendContextImpl suspendContext) { pumpDebuggerThread(request); } @Override protected void commandCancelled() { pumpDebuggerThread(request); } }); } else { request.myDebugProcess.getManagerThread().schedule(new DebuggerCommandImpl() { @Override protected void action() { pumpDebuggerThread(request); } @Override protected void commandCancelled() { pumpDebuggerThread(request); } }); } }