void (@NotNull final List<? extends XStackFrame> stackFrames, @Nullable XStackFrame toSelect, final boolean last) { if (isObsolete()) return; EdtExecutorService.getInstance().execute(() -> { if (isObsolete()) return; myStackFrames.addAll(stackFrames); addFrameListElements(stackFrames, last); if (toSelect != null && !myRefresh) { setToSelect(toSelect); } myNextFrameIndex += stackFrames.size(); myAllFramesLoaded = last; selectCurrentFrame(); if (last) { if (myVisibleRect != null) { myFramesList.scrollRectToVisible(myVisibleRect); } XDebuggerActionsCollector.logFramesUpdated(System.currentTimeMillis() - myStartTimeMs, myStackFrames); myRunning = false; myListenersEnabled = true; } }); }