void (DirDiffElementImpl element, boolean removeFromTree) { int row = myElements.indexOf(element); if (row != -1) { final DTree node = element.getNode(); if (removeFromTree) { final DTree parentNode = element.getParentNode(); parentNode.remove(node); } myElements.remove(row); int start = row; if (row > 0 && row == myElements.size() && myElements.get(row - 1).isSeparator() || row != myElements.size() && myElements.get(row).isSeparator() && row > 0 && myElements.get(row - 1).isSeparator()) { DirDiffElementImpl el = myElements.get(row - 1); if (removeFromTree) { el.getParentNode().remove(el.getNode()); } myElements.remove(row - 1); start = row - 1; } fireTableRowsDeleted(start, row); } }