protected function validateSettings($settings)
    {
        if (!is_array($settings)) {
            throw new InvalidProviderSettingsException();
        }

        $intersection = array_intersect(array_keys($settings), $this->mandatory);

        return count($intersection) === count($this->mandatory);
    }