@Override
              public void contextAction(@NotNull SuspendContextImpl suspendContext) {
                ThreadReferenceProxyImpl threadProxy = newContext.getThreadProxy();
                newSuspendContext.initExecutionStacks(threadProxy);

                Pair<Breakpoint, Event> item = ContainerUtil.getFirstItem(DebuggerUtilsEx.getEventDescriptors(newSuspendContext));
                if (item != null) {
                  XBreakpoint xBreakpoint = item.getFirst().getXBreakpoint();
                  Event second = item.getSecond();
                  if (xBreakpoint != null && second instanceof LocatableEvent &&
                      threadProxy != null && ((LocatableEvent)second).thread() == threadProxy.getThreadReference()) {
                    ((XDebugSessionImpl)getSession()).breakpointReachedNoProcessing(xBreakpoint, newSuspendContext);
                    unsetPausedIfNeeded(newContext);
                    SourceCodeChecker.checkSource(newContext);
                    return;
                  }
                }
                getSession().positionReached(newSuspendContext);
                unsetPausedIfNeeded(newContext);
                SourceCodeChecker.checkSource(newContext);
              }
@Override
              public void contextAction(@NotNull SuspendContextImpl suspendContext)