protected void cacheDescendantsHelper(Node n) { for (Node child : n.getChildNodes()) { if (descendants.contains(child)) { continue; } descendants.add(child); cacheDescendantsHelper(child); } }
protected void cacheDescendants() { descendants = new HashSet<Node>(); cacheDescendantsHelper(this); }