code: public ResultColumn[] nextResult() throws DatabaseEngineException {
          try {
  
              if (closed) {
                  return null;
              }
  
              if (!resultSet.next()) {
                  close();
  
                  return null;
              }
  
              ResultColumn[] temp = new ResultColumn[columnNames.size()];
              for (int i = 0; i < columnNames.size(); i++) {
                  temp[i] = createResultColumn(columnNames.get(i), resultSet.getObject(i + 1));
              }
              return temp;
          } catch (final Exception e) {
              close();
              throw new DatabaseEngineException("Could not fetch data.", e);
          }
      }
docs: Retrieves the values of the next row in the result set as an array oj objects.
  <p>
  This method provides an optimized version of the {@link #next()} method with less overhead.
  <p>
  This method also closes the result set upon the last call on the result set.
  </p>
  <p>
  If the statement in place is not a {@link PreparedStatement} it also closes the statement.
  </p>
  <p>
  If an exception is thrown the calling thread is responsible for repeating the action in place.
  </p>
  
  @return The result row.
  @throws DatabaseEngineException If a database access error occurs.
  @see #getColumnNames() for the names of the columns of this method return.