protected function validateCredentials($credentials)
    {
        $credentials = array_filter($credentials);

        $keys = array_keys($credentials);

        $diff = array_diff($this->requiredCredentials, $keys);

        if (!empty($diff)) {
            throw new MissingCredentialsException('Missing Credentials: ' . implode($diff, ', '));
        }

        unset($credentials, $keys, $diff);
    }