// Perform the refresh while retaining changes ...
// Phase 1: determine which nodes can be unloaded, which must be refreshed, and which must be unchanged ...
RefreshState<Payload, PropertyPayload> refreshState = new RefreshState<Payload, PropertyPayload>();
node.refreshPhase1(refreshState);
// If there are any nodes to be refreshed, read then in a single batch ...
Results readResults = null;
if (!refreshState.getNodesToBeRefreshed().isEmpty()) {
Graph.Batch batch = store.batch();
for (Node<Payload, PropertyPayload> nodeToBeRefreshed : refreshState.getNodesToBeRefreshed()) {
batch.read(nodeToBeRefreshed.getLocation());
}