sanityCheck();
ArrayList properties = new ArrayList();
// traverse children using a special filtering 'collector'
accept(new ChildrenCollectorFilter(namePattern, properties, false, true, 1));
return new IteratorHelper(Collections.unmodifiableList(properties));
}