protected virtual Func <ICriteria, ICriteria> CreateCriteriaBuilder(MethodInfo targetMethod, object[] args) { Func <ICriteria, ICriteria> criteriaBuilder = criteria => { var factory = new QueryFactory(targetMethod, args); factory.BuildCriteria(criteria); return(criteria); }; return(criteriaBuilder); }