public static function getMethodParameters($instance, string $method)
    {
        try {
            if (! is_callable([$instance, $method])) {
                return false;
            }

            $reflection = static::getReflectionMethod($instance, $method);
            if ($reflection instanceof ReflectionMethod === false) {
                return false;
            }

            $params = [];
            foreach ($reflection->getParameters() as $param) {
                $params[$param->getName()] = $param->isDefaultValueAvailable() ? $param->getDefaultValue() : null;
            }
            return $params;

        } catch (ReflectionException $e) {}
    }