protected function getPath(...$segments)
{
$result = $this->specification;
foreach ($segments as $segment) {
if (!isset($result[$segment])) {
throw new InvalidArgumentException(sprintf('Missing segment %s in %s spec file %s', $segment, implode('/', $segments), $this->specFile));
}
$result = $result[$segment];
}
return $result;
}