/**
  * {@inheritdoc}
  */
 public function mergeParameterKeys(SegmentMatcherContract $matcher)
 {
     if ($matcher->getHash() !== $this->getHash()) {
         throw new RuntimeException(sprintf('Cannot merge parameters: matchers must be equivalent, \'%s\' expected, \'%s\' given.', $matcher->getHash(), $this->getHash()));
     }
     $this->parameterKeys = array_unique(array_merge($this->parameterKeys, $matcher->getParameterKeys()), SORT_NUMERIC);
 }
 /**
  * @param \Viserio\Contracts\Routing\SegmentMatcher $matcher
  *
  * @return \Viserio\Routing\Generator\RouteTreeNode|null
  */
 public function getChild(SegmentMatcherContract $matcher)
 {
     return $this->children[$matcher->getHash()] ?? null;
 }