public ISolutionSnapshotWithProjectMapping GetCurrentSolutionSnapshot()
        {
            var weakRef = currentSolutionSnapshot;
            SharpDevelopSolutionSnapshot result;

            if (weakRef == null || !weakRef.TryGetTarget(out result))
            {
                // create new snapshot if we don't have one cached
                var solution = ProjectService.OpenSolution;
                result = new SharpDevelopSolutionSnapshot(solution != null ? solution.Projects : null);
                currentSolutionSnapshot = new WeakReference <SharpDevelopSolutionSnapshot>(result);
            }
            return(result);
        }
		public ISolutionSnapshotWithProjectMapping GetCurrentSolutionSnapshot()
		{
			var weakRef = currentSolutionSnapshot;
			SharpDevelopSolutionSnapshot result;
			if (weakRef == null || !weakRef.TryGetTarget(out result)) {
				// create new snapshot if we don't have one cached
				var solution = ProjectService.OpenSolution;
				result = new SharpDevelopSolutionSnapshot(solution != null ? solution.Projects : null);
				currentSolutionSnapshot = new WeakReference<SharpDevelopSolutionSnapshot>(result);
			}
			return result;
		}