public IEnumerable <DataItem> GetList(DataWrapper wrapper) { List <DataItem> items = new List <DataItem>(); if (wrapper.HasMiss) { var entities = GetListInner(wrapper); items.AddRange(wrapper.Update(entities)); if (wrapper.HasMiss && innerPersister != null) { var newItems = innerPersister.GetList(wrapper); SetBatch(newItems); items.AddRange(newItems); } } return(items); }