    @Test
    public void testCallableStatementReturningResultSets() {

        Database db = DatabaseCreator.createDerbyWithStoredProcs(1);
        db.apply(con -> {
            try (Statement stmt = con.createStatement()) {
                CallableStatement st = con.prepareCall("call in1out0rs2(?)");
                st.setInt(1, 0);
                st.execute();
                ResultSet rs1 = st.getResultSet();
                st.getMoreResults(Statement.KEEP_CURRENT_RESULT);
                ResultSet rs2 = st.getResultSet();
                rs1.next();
                assertEquals("FRED", rs1.getString(1));
                rs2.next();
                assertEquals("SARAH", rs2.getString(1));
            }
        }).blockingAwait(TIMEOUT_SECONDS, TimeUnit.SECONDS);
    }