NodeImpl parent = (NodeImpl) session.getTransientNodesManager().getItem(qpath.makeParentPath(), false);
if (parent == null)
throw new PathNotFoundException("Parent not found for " + path.getAsString(false));
// validate as on parent child node
parent.validateChildNode(qpath.getName(), Constants.NT_QUERY);
NodeData queryData =
TransientNodeData.createNodeData((NodeData) parent.getData(), qpath.getName(), Constants.NT_QUERY);
NodeImpl queryNode =
(NodeImpl) session.getTransientNodesManager().update(ItemState.createAddedState(queryData), false);