code: public B set(String key, Object value) {
          data.put(key, Objects.requireNonNull(value));
          return (B) this;
      }
docs: Sets an attribute, using {@code attribute.getClass()} as attribute
  <i>type</i>.
  
  @param value the attribute value, not null.
  @param key   the attribute's key, not {@code null}
  @return this Builder, for chaining