code: @CheckResult @NonNull
    public final <T> Observable<T> mapToOneOrDefault(@NonNull Function<Cursor, T> mapper,
        @NonNull T defaultValue) {
      return lift(Query.mapToOneOrDefault(mapper, defaultValue));
    }
docs: Given a function mapping the current row of a {@link Cursor} to {@code T}, transform each
  emitted {@link Query} which returns a single row to {@code T}.
  <p>
  It is an error for a query to pass through this operator with more than 1 row in its result
  set. Use {@code LIMIT 1} on the underlying SQL query to prevent this. Result sets with 0 rows
  emit {@code defaultValue}.
  <p>
  This method is equivalent to:
  <pre>{@code
  flatMap(q -> q.asRows(mapper).take(1).defaultIfEmpty(defaultValue))
  }</pre>
  and a convenience operator for:
  <pre>{@code
  lift(Query.mapToOneOrDefault(mapper, defaultValue))
  }</pre>
  
  @param mapper Maps the current {@link Cursor} row to {@code T}. May not return null.
  @param defaultValue Value returned if result set is empty