public RepositoryInfo Clone() { var clone = new RepositoryInfo(); clone.RepositoryName = RepositoryName; clone.RepositoryPath = RepositoryPath; clone.RepositoryType = RepositoryType; clone.CurrentId = CurrentId; clone.RepositoryUrl = RepositoryUrl; foreach (var file in SourceFiles) { clone.SourceFiles.Add(file.Clone()); } return(clone); }