code: public function setArguments(array $arguments)
      {
          $options = array();
          $argc = count($arguments);
  
          if ($argc > 2 && is_array($arguments[$argc - 1])) {
              $options = $this->prepareOptions(array_pop($arguments));
          }
  
          if (is_array($arguments[1])) {
              $arguments = array_merge(
                  array($arguments[0], count($arguments[1])),
                  $arguments[1]
              );
          }
  
          parent::setArguments(array_merge($arguments, $options));
      }
docs: {@inheritdoc}