public void FindAndModifyByProperty <TProperty>(DomainEvent e, Expression <Func <TModel, TProperty> > propertySelector, TProperty propertyValue, Action <TModel> action, bool notify = false) { foreach (var model in _storage.FindManyByProperty(propertySelector, propertyValue)) { if (!model.BuiltFromEvent(e.MessageId)) { action(model); Save(e, model, notify); } } }