/// <summary>
        /// Download a meta xmlfile to a local cache.
        /// </summary>
        /// <param name="metafile">The MetaXmlFile to download.</param>
        public void DownloadMetaFile(MetaXmlFile metafile)
        {
            try
            {
                PerformWebRequest(WebRequest_DownloadMetaFile, metafile);
            }
            catch (Exception ex)
            {
                throw new NetworkException(String.Format(Language.Error_DownloadError, metafile.Name), ex);
            }

            metafile.FlagAsChecked();
            this.BytesDownloaded += (int)metafile.LocalFileInfo.Length;
        }