/**
  * (non-PHPdoc)
  * @see \MwbExporter\Model\Base::write()
  */
 public function write(WriterInterface $writer)
 {
     $this->writer = $writer;
     $this->error = null;
     $writer->setDocument($this);
     $writer->begin();
     try {
         $this->addLog(sprintf('Start writing document %s...', basename($this->filename)));
         $this->physicalModel->write($writer);
         $this->addLog('Done writing document...');
     } catch (\Exception $e) {
         $this->error = $e;
         $this->addLog($e->getMessage(), LoggerInterface::ERROR);
     }
     $writer->end();
     return $this;
 }