private IReadOnlyList <T> allTemplateBuildingBlocksFor <T>(IndividualSimulation simulation, IPKSimProject project) where T : class, IPKSimBuildingBlock { var buildingBlocks = simulation.UsedBuildingBlocksInSimulation <T>().Select(x => project.All <T>().FindById(x.TemplateId)).ToList(); buildingBlocks.Each(_lazyLoadTask.Load); return(buildingBlocks); }