public PackOptions Clone() { var clonedObject = new PackOptions(); clonedObject.PackageType = new List <PackageType>(PackageType); clonedObject.IncludeExcludeFiles = IncludeExcludeFiles?.Clone(); if (Mappings != null) { clonedObject.Mappings = new Dictionary <string, IncludeExcludeFiles>(); foreach (var kvp in Mappings) { clonedObject.Mappings.Add(kvp.Key, kvp.Value.Clone()); } } return(clonedObject); }