public void insertTab(
      final VirtualFile file,
      final Icon icon,
      final JComponent comp,
      final String tooltip,
      final int indexToInsert) {

    TabInfo tab = myTabs.findInfo(file);
    if (tab != null) return;

    tab =
        new TabInfo(comp)
            .setText(calcTabTitle(myProject, file))
            .setIcon(icon)
            .setTooltipText(tooltip)
            .setObject(file)
            .setTabColor(calcTabColor(myProject, file))
            .setDragOutDelegate(myDragOutDelegate);
    tab.setTestableUi(new MyQueryable(tab));

    final DefaultActionGroup tabActions = new DefaultActionGroup();
    tabActions.add(new CloseTab(comp, tab));

    tab.setTabLabelActions(tabActions, ActionPlaces.EDITOR_TAB);
    myTabs.addTab(tab, indexToInsert);
  }