bool ShouldRefreshTypeSystemForProject (ParentPackageOperationEventArgs e)
		{
			return e.Operations.Any (operation => IsInstallingMSBuildFiles (operation));
		}
		void RaiseParentPackageUninstalledEvent(object sender, ParentPackageOperationEventArgs e)
		{
			ParentPackageUninstalled(sender, e);
		}
		void PackageInstalled (object sender, ParentPackageOperationEventArgs e)
		{
			if (ShouldRefreshTypeSystemForProject (e)) {
				projectsRequiringTypeSystemRefresh.Add (e.Project);
			}
		}
		void RaiseParentPackageUninstalledEventIfHasSubscribers(object sender, ParentPackageOperationEventArgs e)
		{
			if (ParentPackageUninstalled != null) {
				guiSyncDispatcher (() => RaiseParentPackageUninstalledEvent(sender, e));
			}
		}
		PackageManagementPackageReferenceEventArgs CreateEventArgs (ParentPackageOperationEventArgs e)
		{
			return new PackageManagementPackageReferenceEventArgs (
				e.Project.DotNetProject,
				e.Package.Id,
				e.Package.Version.ToString ());
		}
		void OnPackageReferenceAdded (ParentPackageOperationEventArgs e)
		{
			var handler = PackageReferenceAdded;
			if (handler != null) {
				handler (this, CreateEventArgs (e));
			}
		}
		void PackageInstalled (object sender, ParentPackageOperationEventArgs e)
		{
			OnPackageReferenceAdded (e);
		}
		void PackageUninstalled (object sender, ParentPackageOperationEventArgs e)
		{
			OnPackageReferencedRemoved (e);
		}