private static TypeCoupling CresateTypeCoupling(
IEnumerable<IPropertySymbol> calledProperties,
IEnumerable<IMethodSymbol> calledMethods,
IEnumerable<IEventSymbol> usedEvents,
KeyValuePair<string, ITypeSymbol> x)
{
var typeSymbol = x.Value;
var usedMethods =
calledMethods.Where(m => m.ContainingType.ToDisplayString() == typeSymbol.ToDisplayString())
.Select(m => m.ToDisplayString());
var usedProperties =
calledProperties.Where(m => m.ContainingType.ToDisplayString() == typeSymbol.ToDisplayString())
.Select(m => m.ToDisplayString());
var events =
usedEvents.Where(m => m.ContainingType.ToDisplayString() == typeSymbol.ToDisplayString())
.Select(m => m.ToDisplayString());
return CreateTypeCoupling(typeSymbol, usedMethods, usedProperties, events);
}