protected function parseTag($line)
{
$tagAndValue = [];
if (preg_match('/@[A-Za-z0-9\\\\]+\\\\([A-Za-z0-9]+)(?:\\((.*)\\))?$/', $line, $tagAndValue) === 0) {
$tagAndValue = preg_split('/\\s/', $line, 2);
} else {
array_shift($tagAndValue);
}
$tag = strtolower(trim($tagAndValue[0], '@'));
if (count($tagAndValue) > 1) {
$this->tags[$tag][] = trim($tagAndValue[1], ' "');
} else {
$this->tags[$tag] = [];
}
}