code: private IXADataRecorder createXADataRecorder() {
  
        try {
           long xaDataRecorderId = this.messageSeqGenerator.generate();
  
           // create a new Logger
           IDataLogger dataLogger = this.dataLoggerFactory.instanciateLogger(Long.toString(xaDataRecorderId));
  
           // create a new XADataLogger
           XADataLogger xaDataLogger = new XADataLogger(dataLogger);
  
           PhynixxXADataRecorder xaDataRecorder = PhynixxXADataRecorder.openRecorderForWrite(xaDataRecorderId,
                    xaDataLogger, this);
           synchronized (this) {
              addXADataRecorder(xaDataRecorder);
           }
           LOG.info("IXADataRecord " + xaDataRecorderId + " created in [" + Thread.currentThread() + "]");
           return xaDataRecorder;
  
        } catch (Exception e) {
           throw new DelegatedRuntimeException(e);
        }
  
     }
docs: opens a new Recorder for writing. The recorder gets a new ID.
  
  The lifecycle of the dataRecorder is managed by the current implementation of {@link
  
  @return created dataRecorder