void (int firstFrameIndex, XStackFrameContainer container) { try { if (myDebuggerSession.getCurrentState() == Debugger.State.SUSPENDED) { Debugger.Frame frame = myTopFrame.getFrame(); final List<XStackFrame> frames = new ArrayList<>(); frames.add(myTopFrame); while (frame != null) { frame = frame.getPrevious(); if (frame != null) { frames.add(new XsltStackFrame(frame, myDebuggerSession)); } } if (firstFrameIndex <= frames.size()) { container.addStackFrames(frames.subList(firstFrameIndex, frames.size()), true); } else { container.addStackFrames(Collections.emptyList(), true); } } } catch (VMPausedException e) { container.errorOccurred(XsltDebuggerBundle.message("dialog.message.target.vm.not.responding")); } }