anchor.diff:  [source,java]
   .src/main/java/org/acme/vertx/Fruit.java
   ----
  -    public static Uni<List<Fruit>> findAll(PgPool client) {
  -        return client.query("SELECT id, name FROM fruits ORDER BY name ASC").execute()
  -            .map(pgRowSet -> {
  -                List<Fruit> list = new ArrayList<>(pgRowSet.size());
  -                for (Row row : pgRowSet) {
  -                    list.add(from(row));
  -                }
  -                return list;
  -            });
  -    }
  +public static Multi<Fruit> findAll(PgPool client) {
  +    return client.query("SELECT id, name FROM fruits ORDER BY name ASC").execute()
  +            .onItem().produceMulti(set -> Multi.createFrom().items(() -> StreamSupport.stream(set.spliterator(), false)))
  +            .onItem().apply(Fruit::from);
  +}
   ----
   
   And the endpoint to get all fruits from the backend:
  
positive.code: 
  [source,java]
  ----
   client.query("DROP TABLE IF EXISTS fruits").execute()
      .flatMap(r -> client.query("CREATE TABLE fruits (id SERIAL PRIMARY KEY, name TEXT NOT NULL)").execute())
      .flatMap(r -> client.query("INSERT INTO fruits (name) VALUES ('Orange')").execute())
      .flatMap(r -> client.query("INSERT INTO fruits (name) VALUES ('Pear')").execute())
  
negative.code: .src/main/java/org/acme/vertx/Fruit.java
  ----
  public static Uni<Boolean> delete(PgPool client, Long id) {
      return client.preparedQuery("DELETE FROM fruits WHERE id = $1").execute(Tuple.of(id))
              .onItem().apply(pgRowSet -> pgRowSet.rowCount() == 1); // <1>
  }
  ----
  <1> Inspect metadata to determine if a fruit has been actually deleted.
  