code: public void init(Record record, Object bookmark, Object source, int iRecordMessageType, Map<String, Object> mapHints)
      {
          if (source == null)
              source = record;
          Map<String,Object> properties = new HashMap<String,Object>();
          if (record != null)
          {
              properties.put(DB_NAME, record.getTable().getDatabase().getDatabaseName(true)); // Physical database must match
              properties.put(TABLE_NAME, record.getTableNames(false));
              if (bookmark == null)
                  bookmark = NO_BOOKMARK;
              properties.put(BOOKMARK, bookmark);
  
              m_strSourceType = record.getTable().getSourceType();
              m_iDatabaseType = record.getTable().getDatabase().getDatabaseType();
          }
          m_iRecordMessageType = iRecordMessageType;
          m_mapHints = mapHints;
          super.init(MessageConstants.RECORD_QUEUE_NAME, MessageConstants.INTRANET_QUEUE, source, properties);
      }
docs: Constructor.