public void remove(final CommittedChangesFilterKey key) {
    final Integer idx = myInnerSplitterContents.remove(key);
    if (idx == null) {
      return;
    }
    final Map<CommittedChangesFilterKey, Integer> tmp = new HashMap<>();
    for (Map.Entry<CommittedChangesFilterKey, Integer> entry : myInnerSplitterContents.entrySet()) {
      if (entry.getValue() < idx) {
        tmp.put(entry.getKey(), entry.getValue());
      } else {
        tmp.put(entry.getKey(), entry.getValue() - 1);
      }
    }
    myInnerSplitterContents.clear();
    myInnerSplitterContents.putAll(tmp);

    if (idx == 0) {
      final JComponent inner = myInnerSplitter.getInnerComponent();
      myInnerSplitter.setInnerComponent(null);
      myInnerSplitter.setFirstComponent(inner);
      lastToInner();
    } else if (idx == 1) {
      lastToInner();
    } else {
      myInnerSplitter.setLastComponent(null);
    }

    updateBorders();

    myRefresher.run();
  }
public void remove(final CommittedChangesFilterKey key)