public ApplicationSetting Clone() { var clone = new ApplicationSetting(); clone.SkipFirstBlankRows = SkipFirstBlankRows; clone.SkipFirstBlankColumns = SkipFirstBlankColumns; clone.TrimLastBlankRows = TrimLastBlankRows; clone.TrimLastBlankColumns = TrimLastBlankColumns; clone.ExternalCommands = ExternalCommands.Select(c => c.Clone()).ToList(); clone.FileSettings = FileSettings.Select(f => f.Clone()).ToList(); clone.RecentFileSets = RecentFileSets.ToList(); clone.CellWidth = CellWidth; clone.AlternatingColorStrings = new ObservableCollection <string>(AlternatingColorStrings); clone.ColumnHeaderColorString = ColumnHeaderColorString; clone.RowHeaderColorString = RowHeaderColorString; clone.AddedColorString = AddedColorString; clone.RemovedColorString = RemovedColorString; clone.modifiedColorString = ModifiedColorString; clone.ModifiedRowColorString = ModifiedRowColorString; clone.ColorModifiedRow = ColorModifiedRow; clone.SearchHistory = new ObservableCollection <string>(SearchHistory); clone.FontName = FontName; clone.LogFormat = LogFormat; clone.AddedRowLogFormat = AddedRowLogFormat; clone.RemovedRowLogFormat = RemovedRowLogFormat; return(clone); }