/**
  * @param string $method
  *
  * @param array  $options
  *
  * @throws MWP_Worker_Exception
  * @return MWP_IncrementalBackup_Database_DumperInterface
  */
 protected function createDumper($method, array $options = array())
 {
     $dumperOptions = MWP_IncrementalBackup_Database_DumpOptions::createFromArray($options);
     switch ($method) {
         case self::METHOD_MYSQLDUMP:
             $configuration = MWP_IncrementalBackup_Database_Configuration::createFromWordPressContext(mwp_context());
             $dumper = new MWP_IncrementalBackup_Database_MysqlDumpDumper($configuration, $dumperOptions);
             return $dumper;
         case self::METHOD_PHPDUMPER:
             $configuration = MWP_IncrementalBackup_Database_Configuration::createFromWordPressContext(mwp_context());
             $dumper = new MWP_IncrementalBackup_Database_PhpDumper($configuration, mwp_container()->getSystemEnvironment(), $dumperOptions);
             return $dumper;
         default:
             throw new MWP_Worker_Exception(MWP_Worker_Exception::BACKUP_DATABASE_METHOD_NOT_AVAILABLE);
             break;
     }
 }