public PropertyIterator getProperties(String namePattern) throws RepositoryException {
checkStatus();
ArrayList properties = new ArrayList();
// traverse children using a filtering item visitor
accept(new ChildrenCollectorFilter(namePattern, properties, false, true, 1));
return new PropertyIteratorAdapter(properties);
}