/// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <param name="method">
        /// </param>
        /// <param name="algorithm">
        /// </param>
        /// <returns>
        /// </returns>
        /// <seealso cref="Method"/>
        /// <seealso cref="ChecksumCalculatorFactory.Create(Method)"/>
        /// <seealso cref="System.Security.Cryptography.MD5.Create(String)"/>
        /// <seealso cref="System.Security.Cryptography.SHA1.Create(String)"/>
        /// <seealso cref="System.Security.Cryptography.SHA256.Create(String)"/>
        /// <seealso cref="System.Security.Cryptography.SHA384.Create(String)"/>
        /// <seealso cref="System.Security.Cryptography.SHA512.Create(String)"/>
        /// <exception cref="NotSupportedException">
        /// </exception>
        public static IChecksumCalculator Create(Method method, String algorithm)
        {
            switch (method)
            {
            case Method.Md5:
                return(new Md5ChecksumCalculator(algorithm));

            case Method.Sha1:
                return(new Sha1ChecksumCalculator(algorithm));

            case Method.Sha256:
                return(new Sha256ChecksumCalculator(algorithm));

            case Method.Sha384:
                return(new Sha384ChecksumCalculator(algorithm));

            case Method.Sha512:
                return(new Sha512ChecksumCalculator(algorithm));

            default:
                throw ChecksumCalculatorFactory.GetNotSupportedException(method, algorithm);
            }
        }
 /// <summary>
 /// </summary>
 /// <remarks>
 /// </remarks>
 /// <param name="method">
 /// </param>
 /// <returns>
 /// </returns>
 /// <seealso cref="Method"/>
 /// <seealso cref="ChecksumCalculatorFactory.Create(Method, String)"/>
 /// <seealso cref="System.Security.Cryptography.MD5.Create()"/>
 /// <seealso cref="System.Security.Cryptography.SHA1.Create()"/>
 /// <seealso cref="System.Security.Cryptography.SHA256.Create()"/>
 /// <seealso cref="System.Security.Cryptography.SHA384.Create()"/>
 /// <seealso cref="System.Security.Cryptography.SHA512.Create()"/>
 /// <exception cref="NotSupportedException">
 /// </exception>
 public static IChecksumCalculator Create(Method method)
 {
     return(ChecksumCalculatorFactory.Create(method, null));
 }