private ThreadConsole findMainConsole(ThreadConsole console) {
    for (int i = 0; i < getComponentCount(); i++) {
      ThreadConsole c = (ThreadConsole) getComponentAt(i);
      if ((c.isMainConsole()) && (c.hasSameTargetMappings(console))) return c;
    }

    return null;
  }
  private int findConsolePosition(ThreadConsole console) {
    ThreadConsole mainConsole = findMainConsole(console);
    if (mainConsole == null) return getComponentCount();

    int start = indexOfComponent(mainConsole);
    for (int i = start + 1; i < getComponentCount(); i++) {
      ThreadConsole c = (ThreadConsole) getComponentAt(i);
      if (!c.hasSameTargetMappings(console)) return i;
    }

    return getComponentCount();
  }