public ISet <IMethodChange> GetDifferences() { var differences = new HashSet <IMethodChange>(); foreach (var previousMethod in PreviousType.Methods) { var currentMethod = CurrentType.Methods.FirstOrDefault(Predicate.For(previousMethod)); if (currentMethod != null) { var methodDifference = GetDifference(previousMethod, currentMethod); if (methodDifference != null) { differences.Add(methodDifference); } } else { differences.AddMethod(previousMethod, Change.Deleted); } } GetAddedMethods().ToList().ForEach(m => differences.AddMethod(m, Change.Added)); return(differences); }