code: public List<List<GroovyRowResult>> callWithAllRows(String sql, List<Object> params, Closure closure) throws SQLException {
          return callWithRows(sql, params, ALL_RESULT_SETS, closure);
      }
docs: Performs a stored procedure call with the given parameters,
  calling the closure once with all result objects,
  and also returning a list of lists with the rows of the ResultSet(s).
  <p>
  Use this when calling a stored procedure that utilizes both
  output parameters and returns multiple ResultSets.
  <p>
  Once created, the stored procedure can be called like this:
  <pre>
  def rowsList = sql.callWithAllRows '{call Hemisphere2(?, ?, ?)}', ['Guillaume', 'Laforge', Sql.VARCHAR], { dwells {@code ->}
  println dwells
  }
  </pre>
  <p>
  Resource handling is performed automatically where appropriate.
  
  @param sql     the sql statement
  @param params  a list of parameters
  @param closure called once with all out parameter results
  @return a list containing lists of GroovyRowResult objects
  @throws SQLException if a database access error occurs
  @see #callWithRows(GString, Closure)