This class, and its descendants implements version-specific features of Mercurial.
 /// <summary>
 /// This method finds the correct <see cref="MercurialVersionBase"/> implementation,
 /// based on the version.
 /// </summary>
 /// <param name="version">
 /// The version to find the correct <see cref="MercurialVersionBase"/> implementation for.
 /// </param>
 /// <exception cref="InvalidOperationException">
 /// Internal error, unable to find correct implementation for Mercurial version <paramref name="version"/>.
 /// </exception>
 public static void AssignCurrent(Version version)
 {
     Current = GetImplementationFor(version);
     if (Current == null)
     {
         throw new InvalidOperationException("Internal error, unable to find correct implementation for Mercurial " + version);
     }
 }
 /// <summary>
 /// This method finds the correct <see cref="MercurialVersionBase"/> implementation,
 /// based on the version.
 /// </summary>
 /// <param name="version">
 /// The version to find the correct <see cref="MercurialVersionBase"/> implementation for.
 /// </param>
 /// <exception cref="InvalidOperationException">
 /// Internal error, unable to find correct implementation for Mercurial version <paramref name="version"/>.
 /// </exception>
 public static void AssignCurrent(Version version)
 {
     Current = GetImplementationFor(version);
     if (Current == null)
         throw new InvalidOperationException("Internal error, unable to find correct implementation for Mercurial " + version);
 }