code: public Whitelist removeAttributes(String tag, String... attributes) {
          Validate.notEmpty(tag);
          Validate.notNull(attributes);
          Validate.isTrue(attributes.length > 0, "No attribute names supplied.");
  
          TagName tagName = TagName.valueOf(tag);
          Set<AttributeKey> attributeSet = new HashSet<>();
          for (String key : attributes) {
              Validate.notEmpty(key);
              attributeSet.add(AttributeKey.valueOf(key));
          }
          if(tagNames.contains(tagName) && this.attributes.containsKey(tagName)) { // Only look in sub-maps if tag was allowed
              Set<AttributeKey> currentSet = this.attributes.get(tagName);
              currentSet.removeAll(attributeSet);
  
              if(currentSet.isEmpty()) // Remove tag from attribute map if no attributes are allowed for tag
                  this.attributes.remove(tagName);
          }
          if(tag.equals(":all")) // Attribute needs to be removed from all individually set tags
              for(TagName name: this.attributes.keySet()) {
                  Set<AttributeKey> currentSet = this.attributes.get(name);
                  currentSet.removeAll(attributeSet);
  
                  if(currentSet.isEmpty()) // Remove tag from attribute map if no attributes are allowed for tag
                      this.attributes.remove(name);
              }
          return this;
      }
docs: Remove a list of allowed attributes from a tag. (If an attribute is not allowed on an element, it will be removed.)
  <p>
  E.g.: <code>removeAttributes("a", "href", "class")</code> disallows <code>href</code> and <code>class</code>
  attributes on <code>a</code> tags.
  </p>
  <p>
  To make an attribute invalid for <b>all tags</b>, use the pseudo tag <code>:all</code>, e.g.
  <code>removeAttributes(":all", "class")</code>.
  </p>
  
  @param tag  The tag the attributes are for.
  @param attributes List of invalid attributes for the tag
  @return this (for chaining)