docs: public void run()
      {
          Object objMessage = null;
          String[] files = this.getFileList();
          if (files == null)
              return;
          
          for (String strFile : files)
          {
              m_reader = this.getReader(strFile);
          
              try {
                  while (true)
                  {
                      objMessage = m_reader.readObject();
                      if (objMessage == null)
                          break;  // EOF = Done
                      
                      BaseBuffer buffer = new VectorBuffer((Vector)objMessage, BaseBuffer.PHYSICAL_FIELDS | BaseBuffer.MODIFIED_ONLY);
                      buffer.setHeaderCount(3);
                      String strTrxType = buffer.getHeader().toString();
                      String strTableName = buffer.getHeader().toString();
                      String strKey = buffer.getHeader().toString();
                      
                      try {
                          Record record = this.getRecord(strTableName);
                          if (record == null)
                          {
                          	ClassInfo recClassInfo = (ClassInfo)this.getMainRecord();
                              recClassInfo.addNew();
                              recClassInfo.setKeyArea(ClassInfo.CLASS_NAME_KEY);
                              recClassInfo.getField(ClassInfo.CLASS_NAME).setString(strTableName);
                              if (recClassInfo.seek(DBConstants.EQUALS))
                              {
                                  strTableName = recClassInfo.getPackageName(null) + '.' + strTableName;
                                  record = Record.makeRecordFromClassName(strTableName, this);
                                  this.disableAllListeners(record);
                                  record.setAutoSequence(false);
                              }
                              else
                              {
                                  if (!NOTRX.equalsIgnoreCase(strTrxType))
                                      System.out.println("Error - table not found: " + strTableName);
                                  continue;
                              }
                          }
                          record.addNew();
                          record.getCounterField().setString(strKey);
                          if (ProxyConstants.ADD.equalsIgnoreCase(strTrxType))
                          {
                              buffer.bufferToFields(record, DBConstants.DISPLAY, DBConstants.READ_MOVE);
                              record.add();
                          }
                          else if (ProxyConstants.SET.equalsIgnoreCase(strTrxType))
                          {
                              if (record.seek(DBConstants.EQUALS))
                              {
                                  record.edit();
                                  buffer.bufferToFields(record, DBConstants.DISPLAY, DBConstants.READ_MOVE);
                                  record.set();
                              }
                              else
                                  System.out.println("Error - record not found: " + strTableName + ", key: " + strKey);
                          }
                          else if (ProxyConstants.REMOVE.equalsIgnoreCase(strTrxType))
                          {
                              if (record.seek(DBConstants.EQUALS))
                              {
                                  record.edit();
                                  record.remove();
                              }
                              else
                                  System.out.println("Error - record not found: " + strTableName + ", key: " + strKey);
                          }
                      } catch (DBException e) {
                          e.printStackTrace();
                          System.out.println("Error - record: " + strTableName + ", key: " + strKey + " trx type: " + strTrxType);
                      }
                      
                      System.out.println("trxType: " + strTrxType + " record: " + strTableName + " key: " + strKey);
                  }
                  m_reader.close();
                  m_reader = null;
              
              } catch (EOFException e) {
                  // Ok - Done
              } catch (IOException e) {
                  e.printStackTrace();
              } catch (ClassNotFoundException e) {
                  e.printStackTrace();
              }
          }
      }