docs: public boolean processThisRecord(Record record)
      {
          if (record == null)
              return false;
          boolean bPhysicalName = true;
          if (DBConstants.TRUE.equalsIgnoreCase(this.getProperty(USE_DATABASE_NAME)))
              bPhysicalName = false;
          String strFilename = record.getArchiveFilename(bPhysicalName);
          if (this.getProperty(ConvertCode.DIR_PREFIX) != null)
              strFilename = Utility.addToPath(this.getProperty(ConvertCode.DIR_PREFIX), strFilename);
          
          String strMode = this.getProperty(TRANSFER_MODE);
          boolean bExport = true;
          if (strMode != null) if (strMode.equalsIgnoreCase(IMPORT))
              bExport = false;
          if (bExport)
          {
              int oldOpenMode = record.getOpenMode();
              record.setOpenMode(oldOpenMode & ~DBConstants.OPEN_DONT_CREATE);
              // Make sure the record exists
              try {
                  record.open();
                  if ((record.getEditMode() != DBConstants.EDIT_CURRENT) && (!record.hasNext()))  // Control file would read current
                      if (!DBConstants.TRUE.equalsIgnoreCase(this.getProperty("importEmptyFiles")))
                          return false;   // Skip empty files (default)
                  record.close();
              } catch (DBException e) {
                  return false; // Record doesn't exist
              }
              if (this.getProperty(LOCALE) != null)
              {
                  if (!record.getTable().getDatabase().getDatabaseName(false).endsWith("_" + this.getProperty(LOCALE).toString()))
                      return false;     // If locale is set, only do locale tables
                  if (DatabaseInfo.DATABASE_INFO_FILE.equalsIgnoreCase(record.getTable().getDatabase().getDatabaseName(false)))
                      return false;     // This is a special file type
              }
          }
          else
          { // Import must have file.
              if (!(new File(strFilename).exists()))
                  return false;
              if (this.getProperty(LOCALE) != null)
              {
                  if (!record.getTable().getDatabase().getDatabaseName(false).endsWith("_" + this.getProperty(LOCALE).toString()))
                      return false;     // If locale is set, only do locale tables
                  if (DatabaseInfo.DATABASE_INFO_FILE.equalsIgnoreCase(record.getTable().getDatabase().getDatabaseName(false)))
                      return false;     // This is a special file type
              }
          }
          XmlInOut xml = new XmlInOut(this, null, null);    //0 v
          boolean bSuccess = false;
          if (bExport)
              bSuccess = xml.exportXML(record.getTable(), strFilename);
          else
              bSuccess = xml.importXML(record.getTable(), strFilename, null);
          xml.free();
          return bSuccess;
      }