void appendRelatedStack(@NotNull SuspendContextImpl suspendContext, List<? extends StackFrameItem> asyncStack) {
      for (StackFrameItem stackFrame : asyncStack) {
        if (myAddedAsync > AsyncStacksUtils.getMaxStackLength()) {
          addFrameIfNeeded(new XStackFrame() {
            @Override
            public void customizePresentation(@NotNull ColoredTextContainer component) {
              component.append(JavaDebuggerBundle.message("label.too.many.frames.rest.truncated"),
                               SimpleTextAttributes.REGULAR_ITALIC_ATTRIBUTES);
            }
          }, true);
          return;
        }
        myAddedAsync++;
        if (stackFrame == null) {
          mySeparator = true;
          continue;
        }
        XStackFrame newFrame = stackFrame.createFrame(myDebugProcess);
        if (newFrame != null) {
          if (showFrame(newFrame)) {
            if (mySeparator) {
              flushHiddenFrames();
              StackFrameItem.setWithSeparator(newFrame);
            }
            if (addFrameIfNeeded(newFrame, false)) {
              // No need to propagate the separator further, because it was added.
              mySeparator = false;
            }
          }
          else { // Hidden frame case.
            var frameHasSeparator = StackFrameItem.hasSeparatorAbove(newFrame);
            if (XFramesView.shouldFoldHiddenFrames()) {
              if (mySeparator || frameHasSeparator) {
                flushHiddenFrames();
                if (!frameHasSeparator) {
                  // The separator for this hidden frame will be used as the placeholder separator.
                  StackFrameItem.setWithSeparator(newFrame);
                }
                mySeparator = false;
              }
              rememberHiddenFrame(newFrame);
            }
            else if (!mySeparator && frameHasSeparator) {
              // Frame has a separator, but it wasn't added; we need to propagate the separator further.
              mySeparator = true;
            }
          }
        }
        schedule(suspendContext, null, myAsyncStack, myCreationStack, mySeparator);
        return;
      }
    }
void appendRelatedStack(@NotNull SuspendContextImpl suspendContext, List<? extends StackFrameItem> asyncStack)