protected function traverseSuperTypes(NodeType $currentNodeType, $constraintNodeTypeName, $distance)
{
if ($currentNodeType->getName() === $constraintNodeTypeName) {
return $distance;
}
$distance++;
foreach ($currentNodeType->getDeclaredSuperTypes() as $superType) {
$result = $this->traverseSuperTypes($superType, $constraintNodeTypeName, $distance);
if ($result !== null) {
return $result;
}
}
return null;
}