code: public static <T> FluentIterable<T> toFluentIterable(Cursor cursor, Function<? super Cursor, T> singleRowTransform) {
      List<T> transformed = Lists.newArrayList();
      if (cursor != null) {
        for (int i = 0; cursor.moveToPosition(i); i++) {
          transformed.add(singleRowTransform.apply(cursor));
        }
      }
      return FluentIterable.from(transformed);
    }
docs: Transforms {@code cursor} to {@link com.google.common.collect.FluentIterable}
  of type {@code T} by applying the {@code singleRowTransform} to every row.