public IQueryable <T> GetBranchDetails <T>(Expression <Func <T, bool> > predicate = null) where T : Branch { var query = BranchRepository.FindAll().OfType <T>(); if (predicate != null) { query = query.Where(predicate); } return(query); }