public function mapTag($tag, $class)
    {
        if (preg_match('/^[A-Za-z0-9]+$/', $tag) <= 0) {
            throw new InvalidArgumentException('The name of the tag annotation is invalid.');
        }

        if (in_array('Wingu\OctopusCore\Reflection\Annotation\Tags\TagInterface', class_implements($class)) === false) {
            throw new InvalidArgumentException('The class "' . $class . '" must implement "' . __NAMESPACE__ . '\Tags\TagInterface".');
        }

        $this->mappedTags[$tag] = $class;

        return $this;
    }