void (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(); }