internal void AddPrimitiveProject(PrimitiveProject primitiveProject, SolutionFolder solutionFolder = null) { var otherProject = PrimitiveProjects.FirstOrDefault(x => x.ProjectId.Equals(primitiveProject.ProjectId)); ControlFlow.Assert(otherProject == null, $"Cannot add '{primitiveProject.Name}' because its id '{primitiveProject.ProjectId}' is already taken by '{otherProject?.Name}'."); PrimitiveProjects.Add(primitiveProject); PrimitiveProjectParents.Add(primitiveProject, solutionFolder); }