code: public AttributeMap<K, V> putIfValueNotNull(K key, V value) {
          if (value != null) {
              super.put(key, value);
          } else {
              super.remove(key);
          }
          return this;
      }
docs: Puts the key and value in the map if the value is not {@code null}. If the value is {@code null} the key and
  value are removed.
  
  @param key key with which the specified value is to be associated
  @param value value to be associated with the specified key
  @return the map so calls can be chained