internal void PreapreContextOperationsForItem(SolutionItem actionItem)
		{
			if (actionItem != null)
			{
				this.ContextOperations = DataProvider.GetContextoperations(actionItem.ItemType);
			}
			else
			{
				this.ContextOperations = DataProvider.GetContextoperations(SolutionItemType.Solution);
			}
		}
		internal static ObservableCollection<SolutionItem> GenerateSolutionData()
		{
			//// Project 1

			SolutionItem treeViewXaml = new SolutionItem();
			treeViewXaml.Name = "TreeView.xaml";
			treeViewXaml.ItemType = SolutionItemType.XamlFile;
			treeViewXaml.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlFile.png", UriKind.RelativeOrAbsolute);
			treeViewXaml.SubItems.Add(new SolutionItem()
			{
				Name = "TreeView.xaml.cs",
				ItemType = SolutionItemType.XamlCodeFile,
				ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlCsFile.png", UriKind.RelativeOrAbsolute)
			});

			SolutionItem headerControlXaml = new SolutionItem();
			headerControlXaml.Name = "HeaderControl.xaml";
			headerControlXaml.ItemType = SolutionItemType.XamlFile;
			headerControlXaml.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlFile.png", UriKind.RelativeOrAbsolute);
			headerControlXaml.SubItems.Add(new SolutionItem()
			{
				Name = "HeaderControl.xaml.cs",
				ItemType = SolutionItemType.XamlCodeFile,
				ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlCsFile.png", UriKind.RelativeOrAbsolute)
			});

			SolutionItem virtualizingPanelCS = new SolutionItem();
			virtualizingPanelCS.Name = "VirtualizingPanel.cs";
			virtualizingPanelCS.ItemType = SolutionItemType.CodeFile;
			virtualizingPanelCS.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlCsFile.png", UriKind.RelativeOrAbsolute);


			SolutionItem project1 = new SolutionItem();
			project1.Name = "TreeView.Core";
			project1.ItemType = SolutionItemType.Project;
			project1.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/csFile.png", UriKind.RelativeOrAbsolute);
			project1.SubItems.Add(treeViewXaml);
			project1.SubItems.Add(headerControlXaml);
			project1.SubItems.Add(virtualizingPanelCS);

			//// Project 2

			SolutionItem mainPageXaml = new SolutionItem();
			mainPageXaml.Name = "MainPage.xaml";
			mainPageXaml.ItemType = SolutionItemType.XamlFile;
			mainPageXaml.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlFile.png", UriKind.RelativeOrAbsolute);
			mainPageXaml.SubItems.Add(new SolutionItem()
			{
				Name = "MainPage.xaml.cs",
				ItemType = SolutionItemType.XamlCodeFile,
				ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlCsFile.png", UriKind.RelativeOrAbsolute)
			});

			SolutionItem modelsCS = new SolutionItem();
			modelsCS.Name = "Model.cs";
			modelsCS.ItemType = SolutionItemType.CodeFile;
			modelsCS.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/xamlCsFile.png", UriKind.RelativeOrAbsolute);

			SolutionItem project2 = new SolutionItem();
			project2.Name = "TreeView.Extensions";
			project2.ItemType = SolutionItemType.Project;
			project2.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/csFile.png", UriKind.RelativeOrAbsolute);
			project2.SubItems.Add(mainPageXaml);
			project2.SubItems.Add(modelsCS);

			//// Solution

			SolutionItem solutionFile = new SolutionItem();
			solutionFile.Name = "Solution 'TreeView' (2 projects)";
			solutionFile.ItemType = SolutionItemType.Solution;
			solutionFile.ImageUri = new Uri(@"../Images/TreeView/ContextMenu/solution.png", UriKind.RelativeOrAbsolute);
			solutionFile.SubItems.Add(project1);
			solutionFile.SubItems.Add(project2);

			return new ObservableCollection<SolutionItem>() { solutionFile };
		}