void (final DebuggerStateManager manager, final StackFrameProxyImpl stackFrame) { ThreadingAssertions.assertEventDispatchThread(); final DebuggerContextImpl context = manager.getContext(); final DebuggerSession session = context.getDebuggerSession(); if (session != null) { session.getProcess().getManagerThread().schedule(new DebuggerCommandImpl(PrioritizedTask.Priority.HIGH) { @Override protected void action() { SuspendContextImpl threadSuspendContext = SuspendManagerUtil.findContextByThread(session.getProcess().getSuspendManager(), stackFrame.threadProxy()); final DebuggerContextImpl newContext = DebuggerContextImpl.createDebuggerContext(session, threadSuspendContext, stackFrame.threadProxy(), stackFrame); newContext.initCaches(); DebuggerInvocationUtil.swingInvokeLater(session.getProject(), () -> { manager.setState(newContext, session.getState(), DebuggerSession.Event.REFRESH, null); SourceCodeChecker.checkSource(newContext); }); } }); } else { manager.setState(DebuggerContextImpl.EMPTY_CONTEXT, DebuggerSession.State.DISPOSED, DebuggerSession.Event.REFRESH, null); } }