/// <summary>
        ///     Adds a <see cref="PackageManifestFile"/> to the <see cref="PackageManifest"/> under construction.
        /// </summary>
        /// <param name="file">The PackageManifestFile instance to add.</param>
        /// <returns>The modified <see cref="PackageManifest"/> instance.</returns>
        public PackageManifestBuilder AddFile(PackageManifestFile file)
        {
            if (Manifest.Files == default(IList <PackageManifestFile>))
            {
                Manifest.Files = new List <PackageManifestFile>();
            }

            Manifest.Files.Add(file);

            return(this);
        }
        /// <summary>
        ///     Removes the specified <see cref="PackageManifestFile"/> from the <see cref="PackageManifest"/> under construction.
        /// </summary>
        /// <param name="file">The PackageManifestFile instance to remove.</param>
        /// <returns>The modified <see cref="PackageManifest"/> instance.</returns>
        public PackageManifestBuilder RemoveFile(PackageManifestFile file)
        {
            if (Manifest.Files != default(IList <PackageManifestFile>))
            {
                PackageManifestFile foundFile = Manifest.Files.Where(f => f.Source == file.Source).FirstOrDefault();

                if (foundFile != default(PackageManifestFile))
                {
                    Manifest.Files.Remove(foundFile);
                }
            }

            return(this);
        }