/// <summary>
 /// Creates a change tracking checkpoint for the specified document.
 /// This method is thread-safe.
 /// If you need a ChangeTrackingCheckpoint that's consistent with a snapshot of the document,
 /// use <see cref="TextDocument.CreateSnapshot(out ChangeTrackingCheckpoint)"/>.
 /// </summary>
 public static ChangeTrackingCheckpoint Create(TextDocument document)
 {
     if (document == null)
     {
         throw new ArgumentNullException(nameof(document));
     }
     return(document.CreateChangeTrackingCheckpoint());
 }
 /// <summary>
 /// Creates a change tracking checkpoint for the specified document.
 /// This method is thread-safe.
 /// If you need a ChangeTrackingCheckpoint that's consistent with a snapshot of the document,
 /// use <see cref="TextDocument.CreateSnapshot(out ChangeTrackingCheckpoint)"/>.
 /// </summary>
 public static ChangeTrackingCheckpoint Create(TextDocument document)
 {
     if (document == null)
         throw new ArgumentNullException("document");
     return document.CreateChangeTrackingCheckpoint();
 }