/**
  * @param string $parameterName
  * @param string $elementType
  *
  * @throws ParameterTypeException
  */
 public function __construct($parameterName, $elementType)
 {
     if (!is_string($elementType)) {
         throw new ParameterTypeException('elementType', 'string');
     }
     parent::__construct($parameterName, "all elements must be {$elementType}");
     $this->elementType = $elementType;
 }
 /**
  * @param string $parameterName
  * @param string $parameterType
  *
  * @throws ParameterTypeException
  */
 public function __construct($parameterName, $parameterType)
 {
     if (!is_string($parameterType)) {
         throw new ParameterTypeException('parameterType', 'string');
     }
     parent::__construct($parameterName, "must be a {$parameterType}");
     $this->parameterType = $parameterType;
 }
 /**
  * @param string $parameterName
  * @param string $type
  *
  * @throws ParameterTypeException
  */
 public function __construct($parameterName, $type)
 {
     if (!is_string($type)) {
         throw new ParameterTypeException('type', 'string');
     }
     parent::__construct($parameterName, "all elements must have {$type} keys");
     $this->type = $type;
 }