private void showHint(final Editor editor, final int oldLine) {
    int lineInCurrent = oldToNew(oldLine);
    if (lineInCurrent < 0) return;
    JBColor borderColor = new JBColor(Gray._206, Gray._75);
    final JPanel panel = new JPanel(new VerticalLayout(0));
    panel.setBorder(JBUI.Borders.customLine(borderColor));
    Disposable unregisterActionsDisposable = Disposer.newDisposable();
    panel.add(createActionsToolbar(editor, oldLine, unregisterActionsDisposable));

    final LineData lineData = getLineData(oldLine);
    final Editor uEditor;
    final String report;
    Project project = editor.getProject();
    if (!mySubCoverageActive && (report = getReport(lineData, lineInCurrent, editor, myCoverageSuite)) != null) {
      final EditorFactory factory = EditorFactory.getInstance();
      final Document doc = factory.createDocument(report);
      doc.setReadOnly(true);
      uEditor = factory.createViewer(doc, project, EditorKind.PREVIEW);
      var component = EditorFragmentComponent.createEditorFragmentComponent(uEditor, 0, doc.getLineCount(), false, false);
      component.setBorder(JBUI.Borders.empty(4, 8));

      JPanel hintPanel = new JPanel(new BorderLayout());
      hintPanel.add(component);
      hintPanel.setBorder(JBUI.Borders.customLine(borderColor, 1, 0, 0, 0));
      panel.add(hintPanel);
    }
    else {
      uEditor = null;
    }

    final LightweightHint hint = new LightweightHint(panel) {
      @Override
      public void hide() {
        if (uEditor != null) EditorFactory.getInstance().releaseEditor(uEditor);
        Disposer.dispose(unregisterActionsDisposable);
        super.hide();
      }
    };
    int coverage = lineData == null ? LineCoverage.NONE : lineData.getStatus();
    CoverageLogger.logGutterPopup(project, coverage, myCoverageByTestApplicable && ShowCoveringTestsAction.isEnabled(project, myCoverageSuite, lineData));
    int hideFlags = HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE |
                    HintManager.HIDE_BY_OTHER_HINT | HintManager.HIDE_BY_SCROLLING;
    HintHint hintInfo = new HintHint(editor, new Point());
    HintManagerImpl.getInstanceImpl().showGutterHint(hint, editor, lineInCurrent, THICKNESS, hideFlags, -1, false, hintInfo);
  }
private void showHint(final Editor editor, final int oldLine)