docs: public synchronized void remove(FieldTable table) throws DBException
      {
          BaseBuffer bufferOld = (BaseBuffer)table.getDataSource(); // same as .getHandle(Constants.DATA_SOURCE_HANDLE);
          for (int iKeyArea = Constants.MAIN_KEY_AREA; iKeyArea < table.getRecord().getKeyAreaCount() + Constants.MAIN_KEY_AREA; iKeyArea++)
          {   // Delete the current key.
              KeyAreaInfo keyArea = table.getRecord().getKeyArea(iKeyArea);
              keyArea.reverseKeyBuffer(null, Constants.TEMP_KEY_AREA);
              this.getPKeyArea(iKeyArea).doRemove(table, table.getRecord().getKeyArea(iKeyArea), bufferOld);
          }
          bufferOld.free();   // Get rid of the old one
          table.setDataSource(null);  // same as .doSetHandle(null, Constants.DATA_SOURCE_HANDLE);
      }