public void add(final CommittedChangesFilterKey key, final JComponent comp) {
    final int idx = myInnerSplitterContents.size();
    myInnerSplitterContents.put(key, idx);
    if (idx == 0) {
      myParentSplitter.setFirstComponent(myInnerSplitter);
      if (myParentSplitter.getProportion() < 0.05f) {
        myParentSplitter.setProportion(0.25f);
      }
      myInnerSplitter.setFirstComponent(comp);
      myInnerSplitter.setFirstSize((int)(myParentSplitter.getSize().getWidth() * myParentSplitter.getProportion()));
    }
    else if (idx == 1) {
      final Dimension dimension = myInnerSplitter.getSize();
      final double width = dimension.getWidth() / 2;
      myInnerSplitter.setInnerComponent(comp);
      myInnerSplitter.setFirstSize((int)width);
    }
    else {
      final Dimension dimension = myInnerSplitter.getSize();
      final double width = dimension.getWidth() / 3;
      myInnerSplitter.setLastComponent(comp);
      myInnerSplitter.setFirstSize((int)width);
      myInnerSplitter.setLastSize((int) width);
    }

    updateBorders();

    myRefresher.run();
  }
public void add(final CommittedChangesFilterKey key, final JComponent comp)