void OnAssemblyRefreshed(object sender, RefreshAssemblyEventArgs e)
 {
     lock (lockObj) {
         int index = Array.IndexOf(this.references, e.OldAssembly);
         if (index >= 0 && e.NewAssembly != null)
         {
             this.references[index] = e.NewAssembly;
             projectContent         = projectContent.RemoveAssemblyReferences(e.OldAssembly).AddAssemblyReferences(e.NewAssembly);
             SD.ParserService.InvalidateCurrentSolutionSnapshot();
             SD.MainThread.InvokeAsyncAndForget(
                 delegate {
                 assemblyModel.UpdateReferences(projectContent.AssemblyReferences.Select(ResolveReferenceForAssemblyModel).Where(r => r != null).ToList());
             });
         }
     }
 }
		void OnAssemblyRefreshed(object sender, RefreshAssemblyEventArgs e)
		{
			lock (lockObj) {
				int index = Array.IndexOf(this.references, e.OldAssembly);
				if (index >= 0 && e.NewAssembly != null) {
					this.references[index] = e.NewAssembly;
					projectContent = projectContent.RemoveAssemblyReferences(e.OldAssembly).AddAssemblyReferences(e.NewAssembly);
					SD.ParserService.InvalidateCurrentSolutionSnapshot();
					assemblyModel.UpdateReferences(projectContent.AssemblyReferences
					                               .Select(ResolveReferenceForAssemblyModel).Where(r => r != null).ToList());
				}
			}
		}