bool IsModifiedWhileLoading(MonoDevelop.Projects.Solution solution) { List <MonoDevelop.Projects.DotNetProject> modifiedWhileLoading; lock (workspace.projectModifyLock) { modifiedWhileLoading = workspace.modifiedProjects; workspace.modifiedProjects = new List <MonoDevelop.Projects.DotNetProject> (); } foreach (var project in modifiedWhileLoading) { // TODO: Maybe optimize this so we don't do O(n^2) if (solution.ContainsItem(project)) { return(true); } } return(false); }