public IEnumerable <SystemModel> SplitModel() { return(Environments.Select(e => new SystemModel(Enumerable.Empty <Lifecycle>(), Enumerable.Empty <ProjectGroup>(), Enumerable.Empty <LibraryVariableSet>(), Enumerable.Empty <Project>(), Enumerable.Repeat(e, 1), Enumerable.Empty <UserRole>(), Enumerable.Empty <Team>())) .Concat(ProjectGroups.Select(grp => new SystemModel(Enumerable.Empty <Lifecycle>(), Enumerable.Repeat(grp, 1), Enumerable.Empty <LibraryVariableSet>(), Enumerable.Empty <Project>(), Enumerable.Empty <Environment>(), Enumerable.Empty <UserRole>(), Enumerable.Empty <Team>())) .Concat(Projects.Select(prj => new SystemModel(Enumerable.Empty <Lifecycle>(), Enumerable.Empty <ProjectGroup>(), Enumerable.Empty <LibraryVariableSet>(), Enumerable.Repeat(prj, 1), Enumerable.Empty <Environment>(), Enumerable.Empty <UserRole>(), Enumerable.Empty <Team>()))) .Concat(Lifecycles.Select(lf => new SystemModel(Enumerable.Repeat(lf, 1), Enumerable.Empty <ProjectGroup>(), Enumerable.Empty <LibraryVariableSet>(), Enumerable.Empty <Project>(), Enumerable.Empty <Environment>(), Enumerable.Empty <UserRole>(), Enumerable.Empty <Team>()))) .Concat(LibraryVariableSets.Select(lvs => new SystemModel(Enumerable.Empty <Lifecycle>(), Enumerable.Empty <ProjectGroup>(), Enumerable.Repeat(lvs, 1), Enumerable.Empty <Project>(), Enumerable.Empty <Environment>(), Enumerable.Empty <UserRole>(), Enumerable.Empty <Team>()))) .Concat(UserRoles.Select(ur => new SystemModel(Enumerable.Empty <Lifecycle>(), Enumerable.Empty <ProjectGroup>(), Enumerable.Empty <LibraryVariableSet>(), Enumerable.Empty <Project>(), Enumerable.Empty <Environment>(), Enumerable.Repeat(ur, 1), Enumerable.Empty <Team>()))) .Concat(Teams.Select(t => new SystemModel(Enumerable.Empty <Lifecycle>(), Enumerable.Empty <ProjectGroup>(), Enumerable.Empty <LibraryVariableSet>(), Enumerable.Empty <Project>(), Enumerable.Empty <Environment>(), Enumerable.Empty <UserRole>(), Enumerable.Repeat(t, 1)))))); }