public void registerLobForResult(Result result) throws HsqlException {

    RowSetNavigator navigator = result.getNavigator();

    while (navigator.next()) {
      Object[] data = (Object[]) navigator.getCurrent();

      for (int i = 0; i < data.length; i++) {
        if (data[i] instanceof BlobData) {
          BlobData blob = (BlobData) data[i];
          long id = lobs.get(blob.getId());

          data[i] = database.lobManager.getBlob(session, id);
        } else if (data[i] instanceof ClobData) {
          ClobData clob = (ClobData) data[i];
          long id = lobs.get(clob.getId());

          data[i] = database.lobManager.getClob(session, id);
        }
      }
    }

    lobs.clear();
    navigator.reset();
  }