@ApiStatus.Internal
  @ApiStatus.Experimental
  LocalCommandMergerSnapshot getSnapshot(DocumentReference reference) {
    if (isGlobal() || !myAdditionalAffectedDocuments.isEmpty())
      return null;

    if (myAllAffectedDocuments.size() > 1)
      return null;

    if (myAllAffectedDocuments.size() == 1) {
      DocumentReference currentReference = myAllAffectedDocuments.iterator().next();
      if (currentReference != reference)
        return null;
    }

    return new LocalCommandMergerSnapshot(
      myAllAffectedDocuments.stream().findFirst().orElse(null),
      myCurrentActions.snapshot(),
      myLastGroupId,
      myTransparent,
      myCommandName,
      myStateBefore,
      myStateAfter,
      myUndoConfirmationPolicy
    );
  }
@ApiStatus.Internal
  @ApiStatus.Experimental
  LocalCommandMergerSnapshot getSnapshot(DocumentReference reference)