/**
  * Создание загрузчика данных и постановка первого задания
  *
  * @access public
  * @static
  * @param string $mapper
  *   Имя маппера, которые обязауется подгружать данные
  * @param string $src_key
  *   Индекс идентификатора
  * @param mixed $args
  *   Массив или строка/число - однозначный идентификатор
  * @param array $data
  *   Массив с результатами (если была уже агрегированная выборка)
  * @param array $batch
  *   Массив оппераций, которые будут выполнены в параллели
  * @return Fetcher
  */
 public static function create($mapper, $src_key, array $args = null, array &$data = [], array $batch = [])
 {
     $Self = new self();
     if (is_string($mapper)) {
         $model = $mapper;
         $method = $args ? 'get' : 'getList';
     } elseif (is_array($mapper)) {
         list($model, $method) = $mapper;
     } else {
         throw new Exception('Mapper can be string or array with 2 elements');
     }
     $Self->model = $model;
     $Self->method = $method;
     $Self->src_key = $src_key;
     $Self->dst_key = $Self->getDstKey($src_key);
     $Self->args = $args;
     $Self->batch = $batch;
     $Self->data =& $data;
     return $Self;
 }