private function isInstanceOf($value, $classFQN)
    {
        return is_object($value)
        && (strtolower(get_class($value)) === strtolower($classFQN) || \is_subclass_of($value, $classFQN, true));
    }