public IEnumerable <EntityType> GetTypes(EntityTypes types) { if (_excludeDerived) { EntityType type = types.Find(_typeGuid); if (type != null && (_typeCheck == null || _typeCheck(type))) { yield return(type); } } else { foreach (EntityType type in types) { if (type.IsDerived(_typeGuid) && (_typeCheck == null || _typeCheck(type))) { yield return(type); } } } }