public function getMessages()
    {
        if ($this->invalidDataTypeException !== null) {
            return array(
                'invalidType' => sprintf(
                    'Value must be an array or Traversable object; received %s',
                    is_object($this->invalidData) ? get_class($this->invalidData) : gettype($this->invalidData)
                )
            );
        }

        return parent::getMessages();
    }