### Question:
Attribute implements Map.Entry<String, String>, Cloneable { public void setKey(String key) { Validate.notNull(key); key = key.trim(); Validate.notEmpty(key); if (parent != null) { int i = parent.indexOfKey(this.key); if (i != Attributes.NotFound) parent.keys[i] = key; } this.key = key; } Attribute(String key, String value);  Attribute(String key, String val, Attributes parent); String getKey(); void setKey(String key); String getValue(); String setValue(String val); String html(); @Override String toString(); static Attribute createFromEncoded(String unencodedKey, String encodedValue); @Override boolean equals(Object o); @Override int hashCode(); @Override Attribute clone();  }### Answer:
@Test(expected = IllegalArgumentException.class) public void validatesKeysNotEmptyViaSet() { Attribute attr = new Attribute("One", "Check"); attr.setKey(" "); }