test_class.file: oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/util/UtilsTest.java
test_class.identifier: UtilsTest
test_case.body: @Test
      public void isLocalChange() {
          RevisionVector empty = new RevisionVector();
          Revision r11 = Revision.fromString("r1-0-1");
          Revision r21 = Revision.fromString("r2-0-1");
          Revision r12 = Revision.fromString("r1-0-2");
          Revision r22 = Revision.fromString("r2-0-2");
  
          assertFalse(Utils.isLocalChange(empty, empty, 1));
          assertTrue(Utils.isLocalChange(empty, new RevisionVector(r11), 1));
          assertFalse(Utils.isLocalChange(empty, new RevisionVector(r11), 0));
          assertFalse(Utils.isLocalChange(new RevisionVector(r11), new RevisionVector(r11), 1));
          assertTrue(Utils.isLocalChange(new RevisionVector(r11), new RevisionVector(r21), 1));
          assertFalse(Utils.isLocalChange(new RevisionVector(r11), new RevisionVector(r11, r12), 1));
          assertFalse(Utils.isLocalChange(new RevisionVector(r11, r12), new RevisionVector(r11, r12), 1));
          assertFalse(Utils.isLocalChange(new RevisionVector(r11, r12), new RevisionVector(r11, r22), 1));
          assertFalse(Utils.isLocalChange(new RevisionVector(r11, r12), new RevisionVector(r21, r22), 1));
          assertTrue(Utils.isLocalChange(new RevisionVector(r11, r12), new RevisionVector(r21, r12), 1));
      }
test_case.class_method_signature: UtilsTest.isLocalChange()
test_case.full_signature: @Test public void isLocalChange()
test_case.identifier: isLocalChange
test_case.invocations: fromString fromString fromString fromString assertFalse isLocalChange assertTrue isLocalChange assertFalse isLocalChange assertFalse isLocalChange assertTrue isLocalChange assertFalse isLocalChange assertFalse isLocalChange assertFalse isLocalChange assertFalse isLocalChange assertTrue isLocalChange
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void isLocalChange()
focal_class.declarator: LOG = LoggerFactory.getLogger(Utils.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(Utils.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: MODULE_VERSION = null
focal_class.modifier: private static
focal_class.original_string: private static String MODULE_VERSION = null;
focal_class.type: String
focal_class.var_name: MODULE_VERSION
focal_class.declarator: REVISION_LENGTH =
              new Revision(System.currentTimeMillis(), 0, 0).toString().length()
focal_class.modifier: private static final
focal_class.original_string: private static final int REVISION_LENGTH =
              new Revision(System.currentTimeMillis(), 0, 0).toString().length();
focal_class.type: int
focal_class.var_name: REVISION_LENGTH
focal_class.declarator: PATH_SHORT = Integer.getInteger("oak.pathShort", 165)
focal_class.modifier: public static final
focal_class.original_string: public static final int PATH_SHORT = Integer.getInteger("oak.pathShort", 165);
focal_class.type: int
focal_class.var_name: PATH_SHORT
focal_class.declarator: PATH_LONG = Integer.getInteger("oak.pathLong", 350)
focal_class.modifier: public static final
focal_class.original_string: public static final int PATH_LONG = Integer.getInteger("oak.pathLong", 350);
focal_class.type: int
focal_class.var_name: PATH_LONG
focal_class.declarator: NODE_NAME_LIMIT = Integer.getInteger("oak.nodeNameLimit", 150)
focal_class.modifier: public static final
focal_class.original_string: public static final int NODE_NAME_LIMIT = Integer.getInteger("oak.nodeNameLimit", 150);
focal_class.type: int
focal_class.var_name: NODE_NAME_LIMIT
focal_class.declarator: UTF_8 = Charset.forName("UTF-8")
focal_class.modifier: private static final
focal_class.original_string: private static final Charset UTF_8 = Charset.forName("UTF-8");
focal_class.type: Charset
focal_class.var_name: UTF_8
focal_class.declarator: HEX_DIGITS = "0123456789abcdef".toCharArray()
focal_class.modifier: private static final
focal_class.original_string: private static final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();
focal_class.type: char[]
focal_class.var_name: HEX_DIGITS
focal_class.declarator: PROPERTY_OR_DELETED = new Predicate<String>() {
          @Override
          public boolean apply(@Nullable String input) {
              return Utils.isPropertyName(input) || isDeletedEntry(input);
          }
      }
focal_class.modifier: public static final
focal_class.original_string: public static final Predicate<String> PROPERTY_OR_DELETED = new Predicate<String>() {
          @Override
          public boolean apply(@Nullable String input) {
              return Utils.isPropertyName(input) || isDeletedEntry(input);
          }
      };
focal_class.type: Predicate<String>
focal_class.var_name: PROPERTY_OR_DELETED
focal_class.declarator: DEFAULT_BATCH_SIZE = 100
focal_class.modifier: private static final
focal_class.original_string: private static final int DEFAULT_BATCH_SIZE = 100;
focal_class.type: int
focal_class.var_name: DEFAULT_BATCH_SIZE
focal_class.file: oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/Utils.java
focal_class.identifier: Utils
focal_class.class_method_signature: Utils.pathDepth(String path)
focal_class.full_signature: public static int pathDepth(String path)
focal_class.identifier: pathDepth
focal_class.modifiers: public static
focal_class.parameters: (String path)
focal_class.return: int
focal_class.signature: int pathDepth(String path)
focal_class.class_method_signature: Utils.getIdDepth(Path path)
focal_class.full_signature: public static int getIdDepth(Path path)
focal_class.identifier: getIdDepth
focal_class.modifiers: public static
focal_class.parameters: (Path path)
focal_class.return: int
focal_class.signature: int getIdDepth(Path path)
focal_class.class_method_signature: Utils.estimateMemoryUsage(Map<?, Object> map)
focal_class.full_signature: @SuppressWarnings("unchecked") public static int estimateMemoryUsage(Map<?, Object> map)
focal_class.identifier: estimateMemoryUsage
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (Map<?, Object> map)
focal_class.return: int
focal_class.signature: int estimateMemoryUsage(Map<?, Object> map)
focal_class.class_method_signature: Utils.escapePropertyName(String propertyName)
focal_class.full_signature: public static String escapePropertyName(String propertyName)
focal_class.identifier: escapePropertyName
focal_class.modifiers: public static
focal_class.parameters: (String propertyName)
focal_class.return: String
focal_class.signature: String escapePropertyName(String propertyName)
focal_class.class_method_signature: Utils.unescapePropertyName(String key)
focal_class.full_signature: public static String unescapePropertyName(String key)
focal_class.identifier: unescapePropertyName
focal_class.modifiers: public static
focal_class.parameters: (String key)
focal_class.return: String
focal_class.signature: String unescapePropertyName(String key)
focal_class.class_method_signature: Utils.isPropertyName(String key)
focal_class.full_signature: public static boolean isPropertyName(String key)
focal_class.identifier: isPropertyName
focal_class.modifiers: public static
focal_class.parameters: (String key)
focal_class.return: boolean
focal_class.signature: boolean isPropertyName(String key)
focal_class.class_method_signature: Utils.getIdFromPath(@NotNull String path)
focal_class.full_signature: public static String getIdFromPath(@NotNull String path)
focal_class.identifier: getIdFromPath
focal_class.modifiers: public static
focal_class.parameters: (@NotNull String path)
focal_class.return: String
focal_class.signature: String getIdFromPath(@NotNull String path)
focal_class.class_method_signature: Utils.getIdFromPath(@NotNull Path path)
focal_class.full_signature: public static String getIdFromPath(@NotNull Path path)
focal_class.identifier: getIdFromPath
focal_class.modifiers: public static
focal_class.parameters: (@NotNull Path path)
focal_class.return: String
focal_class.signature: String getIdFromPath(@NotNull Path path)
focal_class.class_method_signature: Utils.createHashedId(int depth, byte[] hash, String name)
focal_class.full_signature: private static String createHashedId(int depth, byte[] hash, String name)
focal_class.identifier: createHashedId
focal_class.modifiers: private static
focal_class.parameters: (int depth, byte[] hash, String name)
focal_class.return: String
focal_class.signature: String createHashedId(int depth, byte[] hash, String name)
focal_class.class_method_signature: Utils.createSHA256Digest(String input)
focal_class.full_signature: private static byte[] createSHA256Digest(String input)
focal_class.identifier: createSHA256Digest
focal_class.modifiers: private static
focal_class.parameters: (String input)
focal_class.return: byte[]
focal_class.signature: byte[] createSHA256Digest(String input)
focal_class.class_method_signature: Utils.encodeHexString(byte[] data, StringBuilder sb)
focal_class.full_signature: public static StringBuilder encodeHexString(byte[] data, StringBuilder sb)
focal_class.identifier: encodeHexString
focal_class.modifiers: public static
focal_class.parameters: (byte[] data, StringBuilder sb)
focal_class.return: StringBuilder
focal_class.signature: StringBuilder encodeHexString(byte[] data, StringBuilder sb)
focal_class.class_method_signature: Utils.getParentId(String id)
focal_class.full_signature: @Nullable public static String getParentId(String id)
focal_class.identifier: getParentId
focal_class.modifiers: @Nullable public static
focal_class.parameters: (String id)
focal_class.return: String
focal_class.signature: String getParentId(String id)
focal_class.class_method_signature: Utils.isLongPath(String path)
focal_class.full_signature: private static boolean isLongPath(String path)
focal_class.identifier: isLongPath
focal_class.modifiers: private static
focal_class.parameters: (String path)
focal_class.return: boolean
focal_class.signature: boolean isLongPath(String path)
focal_class.class_method_signature: Utils.isLongPath(Path path)
focal_class.full_signature: public static boolean isLongPath(Path path)
focal_class.identifier: isLongPath
focal_class.modifiers: public static
focal_class.parameters: (Path path)
focal_class.return: boolean
focal_class.signature: boolean isLongPath(Path path)
focal_class.class_method_signature: Utils.isIdFromLongPath(String id)
focal_class.full_signature: public static boolean isIdFromLongPath(String id)
focal_class.identifier: isIdFromLongPath
focal_class.modifiers: public static
focal_class.parameters: (String id)
focal_class.return: boolean
focal_class.signature: boolean isIdFromLongPath(String id)
focal_class.class_method_signature: Utils.getPathFromId(String id)
focal_class.full_signature: public static String getPathFromId(String id)
focal_class.identifier: getPathFromId
focal_class.modifiers: public static
focal_class.parameters: (String id)
focal_class.return: String
focal_class.signature: String getPathFromId(String id)
focal_class.class_method_signature: Utils.getDepthFromId(String id)
focal_class.full_signature: public static int getDepthFromId(String id)
focal_class.identifier: getDepthFromId
focal_class.modifiers: public static
focal_class.parameters: (String id)
focal_class.return: int
focal_class.signature: int getDepthFromId(String id)
focal_class.class_method_signature: Utils.getPreviousPathFor(Path path, Revision r, int height)
focal_class.full_signature: public static Path getPreviousPathFor(Path path, Revision r, int height)
focal_class.identifier: getPreviousPathFor
focal_class.modifiers: public static
focal_class.parameters: (Path path, Revision r, int height)
focal_class.return: Path
focal_class.signature: Path getPreviousPathFor(Path path, Revision r, int height)
focal_class.class_method_signature: Utils.getPreviousIdFor(Path path, Revision r, int height)
focal_class.full_signature: public static String getPreviousIdFor(Path path, Revision r, int height)
focal_class.identifier: getPreviousIdFor
focal_class.modifiers: public static
focal_class.parameters: (Path path, Revision r, int height)
focal_class.return: String
focal_class.signature: String getPreviousIdFor(Path path, Revision r, int height)
focal_class.class_method_signature: Utils.isPreviousDocId(String id)
focal_class.full_signature: public static boolean isPreviousDocId(String id)
focal_class.identifier: isPreviousDocId
focal_class.modifiers: public static
focal_class.parameters: (String id)
focal_class.return: boolean
focal_class.signature: boolean isPreviousDocId(String id)
focal_class.class_method_signature: Utils.isLeafPreviousDocId(String id)
focal_class.full_signature: public static boolean isLeafPreviousDocId(String id)
focal_class.identifier: isLeafPreviousDocId
focal_class.modifiers: public static
focal_class.parameters: (String id)
focal_class.return: boolean
focal_class.signature: boolean isLeafPreviousDocId(String id)
focal_class.class_method_signature: Utils.deepCopyMap(Map<K, Object> source, Map<K, Object> target)
focal_class.full_signature: public static void deepCopyMap(Map<K, Object> source, Map<K, Object> target)
focal_class.identifier: deepCopyMap
focal_class.modifiers: public static
focal_class.parameters: (Map<K, Object> source, Map<K, Object> target)
focal_class.return: void
focal_class.signature: void deepCopyMap(Map<K, Object> source, Map<K, Object> target)
focal_class.class_method_signature: Utils.getKeyLowerLimit(Path path)
focal_class.full_signature: public static String getKeyLowerLimit(Path path)
focal_class.identifier: getKeyLowerLimit
focal_class.modifiers: public static
focal_class.parameters: (Path path)
focal_class.return: String
focal_class.signature: String getKeyLowerLimit(Path path)
focal_class.class_method_signature: Utils.getKeyUpperLimit(Path path)
focal_class.full_signature: public static String getKeyUpperLimit(Path path)
focal_class.identifier: getKeyUpperLimit
focal_class.modifiers: public static
focal_class.parameters: (Path path)
focal_class.return: String
focal_class.signature: String getKeyUpperLimit(Path path)
focal_class.class_method_signature: Utils.getParentIdFromLowerLimit(String fromKey)
focal_class.full_signature: @Nullable public static String getParentIdFromLowerLimit(String fromKey)
focal_class.identifier: getParentIdFromLowerLimit
focal_class.modifiers: @Nullable public static
focal_class.parameters: (String fromKey)
focal_class.return: String
focal_class.signature: String getParentIdFromLowerLimit(String fromKey)
focal_class.class_method_signature: Utils.isCommitted(@Nullable String tag)
focal_class.full_signature: public static boolean isCommitted(@Nullable String tag)
focal_class.identifier: isCommitted
focal_class.modifiers: public static
focal_class.parameters: (@Nullable String tag)
focal_class.return: boolean
focal_class.signature: boolean isCommitted(@Nullable String tag)
focal_class.class_method_signature: Utils.resolveCommitRevision(@NotNull Revision rev,
                                                   @NotNull String tag)
focal_class.full_signature: @NotNull public static Revision resolveCommitRevision(@NotNull Revision rev,
                                                   @NotNull String tag)
focal_class.identifier: resolveCommitRevision
focal_class.modifiers: @NotNull public static
focal_class.parameters: (@NotNull Revision rev,
                                                   @NotNull String tag)
focal_class.return: Revision
focal_class.signature: Revision resolveCommitRevision(@NotNull Revision rev,
                                                   @NotNull String tag)
focal_class.class_method_signature: Utils.closeIfCloseable(Object obj)
focal_class.full_signature: public static void closeIfCloseable(Object obj)
focal_class.identifier: closeIfCloseable
focal_class.modifiers: public static
focal_class.parameters: (Object obj)
focal_class.return: void
focal_class.signature: void closeIfCloseable(Object obj)
focal_class.class_method_signature: Utils.timestampToString(long timestamp)
focal_class.full_signature: public static String timestampToString(long timestamp)
focal_class.identifier: timestampToString
focal_class.modifiers: public static
focal_class.parameters: (long timestamp)
focal_class.return: String
focal_class.signature: String timestampToString(long timestamp)
focal_class.class_method_signature: Utils.max(@Nullable Revision a, @Nullable Revision b)
focal_class.full_signature: @Nullable public static Revision max(@Nullable Revision a, @Nullable Revision b)
focal_class.identifier: max
focal_class.modifiers: @Nullable public static
focal_class.parameters: (@Nullable Revision a, @Nullable Revision b)
focal_class.return: Revision
focal_class.signature: Revision max(@Nullable Revision a, @Nullable Revision b)
focal_class.class_method_signature: Utils.max(@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.full_signature: @Nullable public static Revision max(@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.identifier: max
focal_class.modifiers: @Nullable public static
focal_class.parameters: (@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.return: Revision
focal_class.signature: Revision max(@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.class_method_signature: Utils.min(@Nullable Revision a, @Nullable Revision b)
focal_class.full_signature: @Nullable public static Revision min(@Nullable Revision a, @Nullable Revision b)
focal_class.identifier: min
focal_class.modifiers: @Nullable public static
focal_class.parameters: (@Nullable Revision a, @Nullable Revision b)
focal_class.return: Revision
focal_class.signature: Revision min(@Nullable Revision a, @Nullable Revision b)
focal_class.class_method_signature: Utils.min(@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.full_signature: @Nullable public static Revision min(@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.identifier: min
focal_class.modifiers: @Nullable public static
focal_class.parameters: (@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.return: Revision
focal_class.signature: Revision min(@Nullable Revision a,
                                 @Nullable Revision b,
                                 @NotNull Comparator<Revision> c)
focal_class.class_method_signature: Utils.getAllDocuments(final DocumentStore store)
focal_class.full_signature: public static Iterable<NodeDocument> getAllDocuments(final DocumentStore store)
focal_class.identifier: getAllDocuments
focal_class.modifiers: public static
focal_class.parameters: (final DocumentStore store)
focal_class.return: Iterable<NodeDocument>
focal_class.signature: Iterable<NodeDocument> getAllDocuments(final DocumentStore store)
focal_class.class_method_signature: Utils.getRootDocument(@NotNull DocumentStore store)
focal_class.full_signature: @NotNull public static NodeDocument getRootDocument(@NotNull DocumentStore store)
focal_class.identifier: getRootDocument
focal_class.modifiers: @NotNull public static
focal_class.parameters: (@NotNull DocumentStore store)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument getRootDocument(@NotNull DocumentStore store)
focal_class.class_method_signature: Utils.getSelectedDocuments(
              DocumentStore store, String indexedProperty, long startValue, int batchSize)
focal_class.full_signature: public static Iterable<NodeDocument> getSelectedDocuments(
              DocumentStore store, String indexedProperty, long startValue, int batchSize)
focal_class.identifier: getSelectedDocuments
focal_class.modifiers: public static
focal_class.parameters: (
              DocumentStore store, String indexedProperty, long startValue, int batchSize)
focal_class.return: Iterable<NodeDocument>
focal_class.signature: Iterable<NodeDocument> getSelectedDocuments(
              DocumentStore store, String indexedProperty, long startValue, int batchSize)
focal_class.class_method_signature: Utils.getSelectedDocuments(
              DocumentStore store, String indexedProperty, long startValue)
focal_class.full_signature: public static Iterable<NodeDocument> getSelectedDocuments(
              DocumentStore store, String indexedProperty, long startValue)
focal_class.identifier: getSelectedDocuments
focal_class.modifiers: public static
focal_class.parameters: (
              DocumentStore store, String indexedProperty, long startValue)
focal_class.return: Iterable<NodeDocument>
focal_class.signature: Iterable<NodeDocument> getSelectedDocuments(
              DocumentStore store, String indexedProperty, long startValue)
focal_class.class_method_signature: Utils.internalGetSelectedDocuments(
              final DocumentStore store, final String indexedProperty,
              final long startValue, final int batchSize)
focal_class.full_signature: private static Iterable<NodeDocument> internalGetSelectedDocuments(
              final DocumentStore store, final String indexedProperty,
              final long startValue, final int batchSize)
focal_class.identifier: internalGetSelectedDocuments
focal_class.modifiers: private static
focal_class.parameters: (
              final DocumentStore store, final String indexedProperty,
              final long startValue, final int batchSize)
focal_class.return: Iterable<NodeDocument>
focal_class.signature: Iterable<NodeDocument> internalGetSelectedDocuments(
              final DocumentStore store, final String indexedProperty,
              final long startValue, final int batchSize)
focal_class.class_method_signature: Utils.isHiddenPath(@NotNull String path)
focal_class.full_signature: public static boolean isHiddenPath(@NotNull String path)
focal_class.identifier: isHiddenPath
focal_class.modifiers: public static
focal_class.parameters: (@NotNull String path)
focal_class.return: boolean
focal_class.signature: boolean isHiddenPath(@NotNull String path)
focal_class.class_method_signature: Utils.asStringValueIterable(
              @NotNull Iterable<String> values)
focal_class.full_signature: public static Iterable<StringValue> asStringValueIterable(
              @NotNull Iterable<String> values)
focal_class.identifier: asStringValueIterable
focal_class.modifiers: public static
focal_class.parameters: (
              @NotNull Iterable<String> values)
focal_class.return: Iterable<StringValue>
focal_class.signature: Iterable<StringValue> asStringValueIterable(
              @NotNull Iterable<String> values)
focal_class.class_method_signature: Utils.pathToId(@NotNull Iterable<String> paths)
focal_class.full_signature: public static Iterable<String> pathToId(@NotNull Iterable<String> paths)
focal_class.identifier: pathToId
focal_class.modifiers: public static
focal_class.parameters: (@NotNull Iterable<String> paths)
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> pathToId(@NotNull Iterable<String> paths)
focal_class.class_method_signature: Utils.getMaxExternalTimestamp(Iterable<Revision> revisions,
                                                 int localClusterId)
focal_class.full_signature: public static long getMaxExternalTimestamp(Iterable<Revision> revisions,
                                                 int localClusterId)
focal_class.identifier: getMaxExternalTimestamp
focal_class.modifiers: public static
focal_class.parameters: (Iterable<Revision> revisions,
                                                 int localClusterId)
focal_class.return: long
focal_class.signature: long getMaxExternalTimestamp(Iterable<Revision> revisions,
                                                 int localClusterId)
focal_class.class_method_signature: Utils.asLong(@Nullable Number n)
focal_class.full_signature: public static Long asLong(@Nullable Number n)
focal_class.identifier: asLong
focal_class.modifiers: public static
focal_class.parameters: (@Nullable Number n)
focal_class.return: Long
focal_class.signature: Long asLong(@Nullable Number n)
focal_class.class_method_signature: Utils.getStartRevisions(@NotNull Iterable<ClusterNodeInfoDocument> clusterNodes)
focal_class.full_signature: @NotNull public static RevisionVector getStartRevisions(@NotNull Iterable<ClusterNodeInfoDocument> clusterNodes)
focal_class.identifier: getStartRevisions
focal_class.modifiers: @NotNull public static
focal_class.parameters: (@NotNull Iterable<ClusterNodeInfoDocument> clusterNodes)
focal_class.return: RevisionVector
focal_class.signature: RevisionVector getStartRevisions(@NotNull Iterable<ClusterNodeInfoDocument> clusterNodes)
focal_class.class_method_signature: Utils.getMinTimestampForDiff(@NotNull RevisionVector fromRev,
                                                @NotNull RevisionVector toRev,
                                                @NotNull RevisionVector minRevisions)
focal_class.full_signature: public static long getMinTimestampForDiff(@NotNull RevisionVector fromRev,
                                                @NotNull RevisionVector toRev,
                                                @NotNull RevisionVector minRevisions)
focal_class.identifier: getMinTimestampForDiff
focal_class.modifiers: public static
focal_class.parameters: (@NotNull RevisionVector fromRev,
                                                @NotNull RevisionVector toRev,
                                                @NotNull RevisionVector minRevisions)
focal_class.return: long
focal_class.signature: long getMinTimestampForDiff(@NotNull RevisionVector fromRev,
                                                @NotNull RevisionVector toRev,
                                                @NotNull RevisionVector minRevisions)
focal_class.class_method_signature: Utils.isGreaterOrEquals(@NotNull RevisionVector a,
                                              @NotNull RevisionVector b)
focal_class.full_signature: public static boolean isGreaterOrEquals(@NotNull RevisionVector a,
                                              @NotNull RevisionVector b)
focal_class.identifier: isGreaterOrEquals
focal_class.modifiers: public static
focal_class.parameters: (@NotNull RevisionVector a,
                                              @NotNull RevisionVector b)
focal_class.return: boolean
focal_class.signature: boolean isGreaterOrEquals(@NotNull RevisionVector a,
                                              @NotNull RevisionVector b)
focal_class.class_method_signature: Utils.isLocalChange(@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)
focal_class.full_signature: public static boolean isLocalChange(@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)
focal_class.identifier: isLocalChange
focal_class.modifiers: public static
focal_class.parameters: (@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)
focal_class.return: boolean
focal_class.signature: boolean isLocalChange(@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)
focal_class.class_method_signature: Utils.abortingIterable(Iterable<T> iterable,
                                                              Predicate<T> p)
focal_class.full_signature: public static CloseableIterable<T> abortingIterable(Iterable<T> iterable,
                                                              Predicate<T> p)
focal_class.identifier: abortingIterable
focal_class.modifiers: public static
focal_class.parameters: (Iterable<T> iterable,
                                                              Predicate<T> p)
focal_class.return: CloseableIterable<T>
focal_class.signature: CloseableIterable<T> abortingIterable(Iterable<T> iterable,
                                                              Predicate<T> p)
focal_class.class_method_signature: Utils.alignWithExternalRevisions(@NotNull NodeDocument rootDoc,
                                                    @NotNull Clock clock,
                                                    int clusterId)
focal_class.full_signature: public static void alignWithExternalRevisions(@NotNull NodeDocument rootDoc,
                                                    @NotNull Clock clock,
                                                    int clusterId)
focal_class.identifier: alignWithExternalRevisions
focal_class.modifiers: public static
focal_class.parameters: (@NotNull NodeDocument rootDoc,
                                                    @NotNull Clock clock,
                                                    int clusterId)
focal_class.return: void
focal_class.signature: void alignWithExternalRevisions(@NotNull NodeDocument rootDoc,
                                                    @NotNull Clock clock,
                                                    int clusterId)
focal_class.class_method_signature: Utils.joinQuietly(Thread... threads)
focal_class.full_signature: public static void joinQuietly(Thread... threads)
focal_class.identifier: joinQuietly
focal_class.modifiers: public static
focal_class.parameters: (Thread... threads)
focal_class.return: void
focal_class.signature: void joinQuietly(Thread... threads)
focal_class.class_method_signature: Utils.getModuleVersion()
focal_class.full_signature: public static String getModuleVersion()
focal_class.identifier: getModuleVersion
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getModuleVersion()
focal_class.class_method_signature: Utils.checkRevisionAge(DocumentStore store,
                                          ClusterNodeInfo info,
                                          Clock clock)
focal_class.full_signature: public static void checkRevisionAge(DocumentStore store,
                                          ClusterNodeInfo info,
                                          Clock clock)
focal_class.identifier: checkRevisionAge
focal_class.modifiers: public static
focal_class.parameters: (DocumentStore store,
                                          ClusterNodeInfo info,
                                          Clock clock)
focal_class.return: void
focal_class.signature: void checkRevisionAge(DocumentStore store,
                                          ClusterNodeInfo info,
                                          Clock clock)
focal_method.body: public static boolean isLocalChange(@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId) {
          RevisionVector diff = to.difference(from);
          return diff.getDimensions() == 1 && diff.getRevision(clusterId) != null;
      }
focal_method.class_method_signature: Utils.isLocalChange(@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)
focal_method.full_signature: public static boolean isLocalChange(@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)
focal_method.identifier: isLocalChange
focal_method.invocations: difference getDimensions getRevision
focal_method.modifiers: public static
focal_method.parameters: (@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)
focal_method.return: boolean
focal_method.signature: boolean isLocalChange(@NotNull RevisionVector from,
                                          @NotNull RevisionVector to,
                                          int clusterId)