/// <summary>
 ///   Checks a zip file to see if its directory is consistent,
 ///   and optionally fixes the directory if necessary.
 /// </summary>
 ///
 /// <remarks>
 ///
 /// <para>
 ///   In cases of data error, the directory within a zip file can get out of
 ///   synch with the entries in the zip file.  This method checks the given
 ///   zip file, and returns true if this has occurred. It also optionally
 ///   fixes the zipfile, saving the fixed copy in <em>Name</em>_Fixed.zip.
 /// </para>
 ///
 /// <para>
 ///   This method may take a long time to run for large zip files.  It
 ///   will take even longer if the file actually needs to be fixed, and if
 ///   <c>fixIfNecessary</c> is true.
 /// </para>
 ///
 /// <para>
 ///   This method is not supported in the Reduced or Compact
 ///   Framework versions of DotNetZip.
 /// </para>
 ///
 /// </remarks>
 ///
 /// <param name="zipFileName">The filename to of the zip file to check.</param>
 ///
 /// <param name="fixIfNecessary">If true, the method will fix the zip file if
 ///     necessary.</param>
 ///
 /// <param name="writer">
 /// a TextWriter in which messages generated while checking will be written.
 /// </param>
 ///
 /// <returns>true if the named zip is OK; false if the file needs to be fixed.</returns>
 ///
 /// <seealso cref="CheckZip(string)"/>
 /// <seealso cref="FixZipDirectory(string)"/>
 public static bool CheckZip(string zipFileName, bool fixIfNecessary, TextWriter writer)
 {
     return(ZipFileExtensions.CheckZip(zipFileName, fixIfNecessary, writer));
 }
 /// <summary>
 ///   Checks a zip file to see if its directory is consistent.
 /// </summary>
 ///
 /// <remarks>
 ///
 /// <para>
 ///   In cases of data error, the directory within a zip file can get out
 ///   of synch with the entries in the zip file.  This method checks the
 ///   given zip file and returns true if this has occurred.
 /// </para>
 ///
 /// <para> This method may take a long time to run for large zip files.  </para>
 ///
 /// <para>
 ///   This method is not supported in the Reduced or Compact Framework
 ///   versions of DotNetZip.
 /// </para>
 ///
 /// <para>
 ///   Developers using COM can use the <see
 ///   cref="ComHelper.CheckZip(String)">ComHelper.CheckZip(String)</see>
 ///   method.
 /// </para>
 ///
 /// </remarks>
 ///
 /// <param name="zipFileName">The filename to of the zip file to check.</param>
 ///
 /// <returns>true if the named zip file checks OK. Otherwise, false. </returns>
 ///
 /// <seealso cref="FixZipDirectory(string)"/>
 /// <seealso cref="CheckZip(string,bool,System.IO.TextWriter)"/>
 public static bool CheckZip(string zipFileName)
 {
     return(ZipFileExtensions.CheckZip(zipFileName));
 }