public NodeIterator childIterator(NodeTest test, boolean reverse, NodePointer startWith){
if (test == null){
return new PropertyIterator(this, null, reverse, startWith);
}
else if (test instanceof NodeNameTest){
QName testName = ((NodeNameTest)test).getNodeName();
String property;
if (!isDefaultNamespace(testName.getPrefix())){
return null;
}
else if (testName.getName().equals("*")){
property = null;
}
else {
property = testName.getName();
}
return new PropertyIterator(this, property, reverse, startWith);
}
else if (test instanceof NodeTypeTest){
if (((NodeTypeTest)test).getNodeType() == Compiler.NODE_TYPE_NODE){