@SuppressWarnings("unchecked")
public static <T> T elementAt(int position,
final Function<Boolean, ? super T> predicate,
final Queryable<T> source) {
LambdaExpression<?> lambda = LambdaExpression.parse(predicate);
Expression e = invoke(null, _elementAt2, constant(position,
Integer.TYPE), quote(lambda), source.getExpression());
return (T) source.getFactory().createQueryable(Object.class, e)
.single();
}