MissingLastRevSeeker { @Nullable public ClusterNodeInfoDocument getClusterNodeInfo(final int clusterId) { return store.find(CLUSTER_NODES, String.valueOf(clusterId)); } MissingLastRevSeeker(DocumentStore store, Clock clock); @NotNull Iterable<ClusterNodeInfoDocument> getAllClusters(); @Nullable ClusterNodeInfoDocument getClusterNodeInfo(final int clusterId); @NotNull Iterable<NodeDocument> getCandidates(final long startTime); boolean acquireRecoveryLock(int clusterId, int recoveredBy); void releaseRecoveryLock(int clusterId, boolean success); NodeDocument getRoot(); boolean isRecoveryNeeded(); boolean isRecoveryNeeded(@NotNull ClusterNodeInfoDocument nodeInfo);  }
@Test public void getClusterNodeInfo() { assertNull(getClusterNodeInfo(1)); ClusterNodeInfo.getInstance(store, NOOP, null, null, 1); assertNotNull(getClusterNodeInfo(1)); }