public <TResult> Queryable<TResult> select(FunctionExpression<Function1<T, TResult>> selector) {
   return factory.select(getThis(), selector);
 }