@Override public NodeId getAllocateNodeId(Node node) { if (passthrough) return base.getAllocateNodeId(node); NodeId nodeId = getNodeIdForNode(node); if (!NodeId.isDoesNotExist(nodeId)) return nodeId; // add to journal nodeId = allocate(node); return nodeId; }
@Override public NodeId getNodeIdForNode(Node node) { if (node == Node.ANY) return NodeId.NodeIdAny; if (passthrough) return base.getNodeIdForNode(node); NodeId nodeId = nodeTableJournal.getNodeIdForNode(node); if (!NodeId.isDoesNotExist(nodeId)) return mapFromJournal(nodeId); nodeId = base.getNodeIdForNode(node); return nodeId; }
@Override public boolean containsNode(Node node) { NodeId x = getNodeIdForNode(node); return NodeId.isDoesNotExist(x); }