/// <summary>
        /// Creates a deep copy of 'mod'.
        /// </summary>
        /// <param name="mod">The object it makes a copy of.</param>
        public ManagedMod(ManagedMod mod)
        {
            /*
             * Info
             */

            this.title             = mod.title;
            this.ID                = mod.ID;
            this.URL               = mod.URL;
            this.Version           = mod.Version;
            this.guid              = mod.guid;
            this.GamePath          = mod.GamePath;
            this.ManagedFolderName = mod.ManagedFolderName;


            /*
             * General
             */
            this.Enabled        = mod.Enabled;
            this.Deployed       = mod.Deployed;
            this.Method         = mod.Method;
            this.PreviousMethod = mod.PreviousMethod;


            /*
             * SeparateBA2
             */

            this.archiveName        = mod.archiveName;
            this.CurrentArchiveName = mod.CurrentArchiveName;
            this.Compression        = mod.Compression;
            this.CurrentCompression = mod.CurrentCompression;
            this.Format             = mod.Format;
            this.CurrentFormat      = mod.CurrentFormat;


            /*
             * SeparateBA2 Frozen
             */
            this.Freeze            = mod.Freeze;
            this.Frozen            = mod.Frozen;
            this.FrozenCompression = mod.FrozenCompression;
            this.FrozenFormat      = mod.FrozenFormat;


            /*
             * Loose
             */
            this.LooseFiles        = new List <string>(mod.LooseFiles);
            this.RootFolder        = mod.RootFolder;
            this.CurrentRootFolder = mod.CurrentRootFolder;
        }
 /// <summary>
 /// Convert DeploymentMethod enum to string.
 /// </summary>
 private static string GetMethodName(DeploymentMethod method)
 {
     return(Enum.GetName(typeof(DeploymentMethod), (int)method));
 }