docs: public void close() throws SQLException {
      lock.lock();
      try {
        closed = true;
        if (results != null) {
          if (results.getFetchSize() != 0) {
            skipMoreResults();
          }
  
          results.close();
        }
        protocol = null;
  
        if (connection == null || connection.pooledConnection == null
            || connection.pooledConnection.noStmtEventListeners()) {
          return;
        }
        connection.pooledConnection.fireStatementClosed(this);
      } finally {
        lock.unlock();
      }
    }