private function getMatcher($firstSegment, array &$parameterIndexNameMap): SegmentMatcherContract
    {
        if ($firstSegment instanceof ParameterMatcher) {
            return $firstSegment->getMatcher($parameterIndexNameMap);
        }

        return $firstSegment;
    }
private function getMatcher($firstSegment, array &$parameterIndexNameMap): SegmentMatcherContract
    {
        if ($firstSegment instanceof ParameterMatcher) {
            return $firstSegment->getMatcher($parameterIndexNameMap);
        }

        return $firstSegment;
    }
private function getMatcher ( $ firstSegment , array & $ parameterIndexNameMap ) : SegmentMatcherContract { if ( $ firstSegment instanceof ParameterMatcher ) { return $ firstSegment -> getMatcher ( $ parameterIndexNameMap ) ; } return $ firstSegment ; }
Get the right Matcher.

@param \Viserio\Component\Contract\Routing\SegmentMatcher|\Viserio\Component\Routing\Matcher\ParameterMatcher $firstSegment
@param array                                                                                                  $parameterIndexNameMap

@return \Viserio\Component\Contract\Routing\SegmentMatcher
Get the right Matcher .