private IEnumerable <IObjectPath> moleculesInvolvedInExpression(Individual individual, IndividualMolecule molecule, IReadOnlyList <CompoundProperties> compoundPropertiesList) { foreach (var container in individual.AllPhysicalContainersWithMoleculeFor(molecule)) { var containerPath = _entityPathResolver.ObjectPathFor(container); foreach (var compoundProperties in compoundPropertiesList) { foreach (var moleculeName in compoundProperties.Processes.AllInducedMoleculeNames(molecule)) { yield return(containerPath.Clone <IObjectPath>().AndAdd(moleculeName)); } } } }