protected function parseNotation($notation)
    {
        $out = str_replace(['[', ']'], ['(?:', ')?'], $notation);

        $enhancement = '(?P<\2>' . self::REGVAL . ')';
        $out = preg_replace(self::REGKEY, $enhancement, $out);

        return $out;
    }