/**
   * Fills the request with required AuthNContext according to selected options.
   *
   * @param request request to fill
   * @param options options driving generation of the element
   */
  protected void buildAuthnContext(AuthnRequest request, WebSSOProfileOptions options) {

    Collection<String> contexts = options.getAuthnContexts();
    if (contexts != null && contexts.size() > 0) {

      SAMLObjectBuilder<RequestedAuthnContext> builder =
          (SAMLObjectBuilder<RequestedAuthnContext>)
              builderFactory.getBuilder(RequestedAuthnContext.DEFAULT_ELEMENT_NAME);
      RequestedAuthnContext authnContext = builder.buildObject();
      authnContext.setComparison(options.getAuthnContextComparison());

      for (String context : contexts) {

        SAMLObjectBuilder<AuthnContextClassRef> contextRefBuilder =
            (SAMLObjectBuilder<AuthnContextClassRef>)
                builderFactory.getBuilder(AuthnContextClassRef.DEFAULT_ELEMENT_NAME);
        AuthnContextClassRef authnContextClassRef = contextRefBuilder.buildObject();
        authnContextClassRef.setAuthnContextClassRef(context);
        authnContext.getAuthnContextClassRefs().add(authnContextClassRef);
      }

      request.setRequestedAuthnContext(authnContext);
      log.debug("ajoute RequestedAuthnContext=" + request.toString());
    }
  }