private static Action<ChangeEventArgs> Handler(ISolution solution, ReflectedReferenceProviderValidator providerValidator)
 {
     return args =>
     {
         var change = args.ChangeMap.GetChange<ProjectModelChange>(solution);
         if (change == null) return;
         providerValidator.myProjectModelReady = providerValidator.myProjectModelReady || change.ContainsChangeType(ProjectModelChangeType.PROJECT_MODEL_CACHES_READY);
         if (!providerValidator.myProjectModelReady || ReferencedAssembliesServiceEx.IsMvcAssemblyReferenceChange(change) == null) return;
         providerValidator.FireOnChanged();
     };
 }
 public ReflectedReferenceProviderFactory(Lifetime lifetime, ISolution solution, ISettingsStore settingsStore, ReflectedReferenceProviderValidator validator)
 {
     lifetime.AddBracket(() => validator.OnChanged += FireOnChanged, () => validator.OnChanged -= FireOnChanged);
 }