docs: public void init(Record record, Object bookmark, Object source)
      {
          if (source == null)
              source = record;
          Map<String,Object> properties = new HashMap<String,Object>();
          BaseDatabase database = null;
          if (record != null)
          {
              database = record.getTable().getDatabase();
  
              properties.put(DB_NAME, database.getDatabaseName(true));
              properties.put(TABLE_NAME, record.getTableNames(false));
              if (bookmark != null)
                  properties.put(BOOKMARK, bookmark);
  
              m_iDatabaseType = record.getTable().getDatabase().getDatabaseType();
          }
  
          super.init(MessageConstants.RECORD_QUEUE_NAME, MessageConstants.INTRANET_QUEUE, source, properties);
  
          if (database != null)
          {
              if ((DBConstants.REMOTE != (record.getDatabaseType() & DBConstants.TABLE_TYPE_MASK))   // Track for remote files only
                  && (DBConstants.REMOTE_MEMORY != (record.getDatabaseType() & DBConstants.TABLE_TYPE_MASK)))
                      this.setCreateRemoteFilter(false);
              if (DBConstants.FALSE.equals(database.getProperty(DBParams.CREATE_REMOTE_FILTER)))
                  this.setCreateRemoteFilter(false);
              if (DBConstants.FALSE.equals(database.getProperty(DBParams.UPDATE_REMOTE_FILTER)))
                  this.setUpdateRemoteFilter(false);
          }
      }