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