public IEnumerable <T> Find(Expression <Func <T, bool> > expression) { if (cache.Any(expression)) { return(cache.Get(expression)); } else { IEnumerable <T> result = member.Find(expression); cache.Add(expression, result); return(result); } }