private void AddTypesUsingAnyAffectedType() { foreach (var invoke in Coverage.SelectMany(e => e.Value).Where(invoke => !(invoke.From is TestMethod))) { if (IsInAffectedClass(invoke.Target) && IsAffectedMethod(invoke.Target) && !IsInAffectedClass(invoke.From)) { var from = ClassDiagram.ResolveType(invoke.From.TypeName); if (from != null) { var fromMethod = from.Methods.First(m => m.Name.Equals(invoke.From.Name)); var target = ClassDiagram.ResolveType(invoke.Target.TypeName); AffectedTypes.Add(from); Edges.Add(new AffectedEdge(from, target, Edge.Use)); MethodChanges.Add(new MethodChange(fromMethod, Change.Using)); } } } }