public function requiresPlugins()
    {
        $has     = class_uses_recursive(get_called_class());
        $check   = array_combine(func_get_args(), func_get_args());
        $missing = array_values(array_diff($check, $has));
        if (isset($missing[ 0 ])) {
            $plugin = collect(debug_backtrace())->where('function', 'requiresPlugins')->first();
            throw ProviderPluginDependencyException::plugin($plugin[ 'file' ], implode(', ', $missing));
        }
    }