docs: protected void addAttributeValuesToSamlAttribute(final String attributeName,
                                                       final Object attributeValue,
                                                       final String valueType,
                                                       final List<XMLObject> attributeList,
                                                       final QName defaultElementName) {
          if (attributeValue == null) {
              LOGGER.debug("Skipping over SAML attribute [{}] since it has no value", attributeName);
              return;
          }
  
          LOGGER.trace("Attempting to generate SAML attribute [{}] with value(s) [{}]", attributeName, attributeValue);
          if (attributeValue instanceof Collection<?>) {
              val c = (Collection<?>) attributeValue;
              LOGGER.debug("Generating multi-valued SAML attribute [{}] with values [{}]", attributeName, c);
              c.stream().map(value -> newAttributeValue(value, valueType, defaultElementName)).forEach(attributeList::add);
          } else {
              LOGGER.debug("Generating SAML attribute [{}] with value [{}]", attributeName, attributeValue);
              attributeList.add(newAttributeValue(attributeValue, valueType, defaultElementName));
          }
      }