private void removeDescendantSelectedPaths(TreeModelEvent e) {
        TreePath pPath = getPath(e);
        if (pPath == null) return;
        Object[] oldChildren = e.getChildren();
        TreeSelectionModel sm = getSelectionModel();
        if (sm != null && oldChildren != null && oldChildren.length > 0) {
          for (int counter = oldChildren.length - 1; counter >= 0; counter--) {
            Tree.this.removeDescendantSelectedPaths(pPath.pathByAddingChild(oldChildren[counter]), true);
          }
        }
      }
private void removeDescendantSelectedPaths(TreeModelEvent e)