/**
  * Builds SAML Elements
  *
  * @param objectQName
  * @return
  * @throws IdentityException
  */
 private XMLObject buildXMLObject(QName objectQName) throws IdentityException {
   XMLObjectBuilder builder =
       org.opensaml.xml.Configuration.getBuilderFactory().getBuilder(objectQName);
   if (builder == null) {
     throw IdentityException.error("Unable to retrieve builder for object QName " + objectQName);
   }
   return builder.buildObject(
       objectQName.getNamespaceURI(), objectQName.getLocalPart(), objectQName.getPrefix());
 }
 /**
  * Builds a SAML 2.0 based XML object using the fully qualified name.
  *
  * @param objectQualifiedName fully qualified name
  * @return a SAML 2.0 based XML object
  * @throws SSOException if an error occurs while retrieving the builder for the fully qualified
  *     name
  */
 private static XMLObject buildXMLObject(QName objectQualifiedName) throws SSOException {
   doBootstrap();
   XMLObjectBuilder builder =
       org.opensaml.xml.Configuration.getBuilderFactory().getBuilder(objectQualifiedName);
   if (!Optional.ofNullable(builder).isPresent()) {
     throw new SSOException("Unable to retrieve builder for object QName " + objectQualifiedName);
   }
   return builder.buildObject(
       objectQualifiedName.getNamespaceURI(),
       objectQualifiedName.getLocalPart(),
       objectQualifiedName.getPrefix());
 }