public Queryable<T> takeWhile(FunctionExpression<Predicate1<T>> predicate) { return factory.takeWhile(getThis(), predicate); }