/**
  * Register a new argument. Call this method from your ViewHelper subclass
  * inside the initializeArguments() method.
  *
  * @param string $name Name of the argument
  * @param string $type Type of the argument
  * @param string $description Description of the argument
  * @param boolean $required If TRUE, argument is required. Defaults to FALSE.
  * @param mixed $defaultValue Default value of argument
  * @return FluidAbstractViewHelper $this, to allow chaining.
  * @throws Exception
  * @api
  */
 protected function registerArgument($name, $type, $description, $required = false, $defaultValue = null)
 {
     if (array_key_exists($name, $this->argumentDefinitions)) {
         throw new Exception('Argument "' . $name . '" has already been defined, thus it should not be defined again.', 1253036401);
     }
     return parent::registerArgument($name, $type, $description, $required, $defaultValue);
 }