private void exercise(Element emt, NamespaceStack stack) { List<Namespace> scope = emt.getNamespacesInScope(); List<Namespace> intro = emt.getNamespacesIntroduced(); for (Namespace ns : intro) { assertFalse(stack.isInScope(ns)); } stack.push(emt); for (Namespace ns : intro) { assertTrue(stack.isInScope(ns)); } checkIterators(stack, scope, intro); for (Element e : emt.getChildren()) { exercise(e, stack); } checkIterators(stack, scope, intro); stack.pop(); }