public void Execute()
{
this.assemblyResolver.Resolver2 = new WeavingContextAssemblyResolver(this);
foreach (var weaveAttributesByTargetType in this.ExtractWeaveAttributesByTargetTypes())
{
Contract.Assert(weaveAttributesByTargetType.Key != null);
Contract.Assert(weaveAttributesByTargetType.Value != null);
Contract.Assert(weaveAttributesByTargetType.Value.All(customAttribute => customAttribute != null));
this.FindAndInvokeWeavers(weaveAttributesByTargetType.Key, weaveAttributesByTargetType.Value);
}
}