public function getIdpList($keys = array(), $forSpEntityId = null)
    {
        sort($keys);
        $keysString = implode(',', $keys);
        if (isset($this->identityProvidersMetadata[$keysString][$forSpEntityId])) {
            return $this->identityProvidersMetadata[$keysString][$forSpEntityId];
        }

        if (!isset($this->identityProvidersMetadata[$keysString])) {
            $this->identityProvidersMetadata[$keysString] = array();
        }

        $this->identityProvidersMetadata[$keysString][$forSpEntityId] = $this->client->getIdpList();

        return $this->identityProvidersMetadata;
    }