/** {@inheritDoc} */
 @SuppressWarnings("unchecked")
 @Override
 public <K, V> V getAttribute(K key) {
   return (V) attrs.get(key);
 }
 /** {@inheritDoc} */
 @SuppressWarnings({"unchecked"})
 @Override
 public <T> T attribute(String name) {
   return (T) attrs.get(name);
 }