public void Update(UsageProviderEditorExtension provider)
 {
     if (providerTasks == null)
     {
         return;
     }
     providerUsages = providerUsages.SetItem(provider, provider.Usages);
     OnTaskProviderUpdated(EventArgs.Empty);
 }
			public void RemoveUsageProvider (UsageProviderEditorExtension p)
			{
				p.UsagesUpdated -= HandleUsagesUpdated;
			}	
			public void AddUsageProvider (UsageProviderEditorExtension p)
			{
				p.UsagesUpdated += HandleUsagesUpdated;
			}
		void RemoveUsageTaskProvider (UsageProviderEditorExtension provider)
		{
			usageProvider.Remove (provider);
			mainsw.RemoveUsageProvider (provider); 
			if (secondsw != null)
				secondsw.RemoveUsageProvider (provider);
		}
		public void AddUsageTaskProvider (UsageProviderEditorExtension provider)
		{
			usageProvider.Add (provider);
			mainsw.AddUsageProvider (provider); 
			if (secondsw != null)
				secondsw.AddUsageProvider (provider);
		}
		public void Update (UsageProviderEditorExtension provider)
		{
			if (providerTasks == null)
				return;
			providerUsages = providerUsages.SetItem (provider, provider.Usages);
			OnTaskProviderUpdated (EventArgs.Empty);
		}