private function getDeclaringClass(\Reflector $reflector) : ?\ReflectionClass
    {
        if ($reflector instanceof \ReflectionClass) {
            return $reflector;
        }

        if ($reflector instanceof \ReflectionProperty) {
            return $reflector->getDeclaringClass();
        }

        if ($reflector instanceof \ReflectionMethod) {
            return $reflector->getDeclaringClass();
        }

        if ($reflector instanceof \ReflectionParameter) {
            return $reflector->getDeclaringClass();
        }

        return null;
    }