protected function buildClaims($options)
    {
        $claims = array();

        foreach ($this->requiredClaims as $claimKey) {
            list($key, $claim) = $this->buildClaim($claimKey);
            $claims[$key] = $claim;
        }

        foreach (array_intersect($this->availableClaims, array_keys($options)) as $claimKey) {
            list($key, $claim) = $this->buildClaim($claimKey, $options[$claimKey]);
            $claims[$key] = $claim;
        }

        return $claims;
    }