code: public Whitelist addEnforcedAttribute(String tag, String attribute, String value) {
          Validate.notEmpty(tag);
          Validate.notEmpty(attribute);
          Validate.notEmpty(value);
  
          TagName tagName = TagName.valueOf(tag);
          tagNames.add(tagName);
          AttributeKey attrKey = AttributeKey.valueOf(attribute);
          AttributeValue attrVal = AttributeValue.valueOf(value);
  
          if (enforcedAttributes.containsKey(tagName)) {
              enforcedAttributes.get(tagName).put(attrKey, attrVal);
          } else {
              Map<AttributeKey, AttributeValue> attrMap = new HashMap<>();
              attrMap.put(attrKey, attrVal);
              enforcedAttributes.put(tagName, attrMap);
          }
          return this;
      }
docs: Add an enforced attribute to a tag. An enforced attribute will always be added to the element. If the element
  already has the attribute set, it will be overridden with this value.
  <p>
  E.g.: <code>addEnforcedAttribute("a", "rel", "nofollow")</code> will make all <code>a</code> tags output as
  <code>&lt;a href="..." rel="nofollow"&gt;</code>
  </p>
  
  @param tag   The tag the enforced attribute is for. The tag will be added to the allowed tag list if necessary.
  @param attribute   The attribute name
  @param value The enforced attribute value
  @return this (for chaining)