docs: @SneakyThrows
      public <T extends SAMLObject> T newSamlObject(final Class<T> objectType) {
          val qName = getSamlObjectQName(objectType);
          val builder = (SAMLObjectBuilder<T>)
              XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(qName);
          if (builder == null) {
              throw new IllegalStateException("No SAML object builder is registered for class " + objectType.getName());
          }
          return objectType.cast(builder.buildObject(qName));
      }