if (propertyNames == null) {
propertyNames = new HashMap<String, String>();
NodeTypeManager ntMgr = session.getWorkspace().getNodeTypeManager();
NodeTypeIterator it = ntMgr.getAllNodeTypes();
while (it.hasNext()) {
NodeType nt = it.nextNodeType();
PropertyDefinition[] defs = nt.getDeclaredPropertyDefinitions();
for (PropertyDefinition def : defs) {
String pn = def.getName();
if (!pn.equals("*")) {
String localName = pn;