public function parse(string $element) : FlagBag
{
if (1 !== preg_match(self::REGEX, $element, $matches)) {
return new FlagBag($element);
}
$flags = new FlagBag($matches['reference']);
$stringFlags = preg_split('/\\s*,\\s*/', $matches['stringFlags']);
foreach ($stringFlags as $stringFlag) {
$flags = $flags->mergeWith($this->parser->parse(trim($stringFlag)));
}
return $flags;
}