code: public <T> boolean containsKey(Key<T> key) {
          if (key == null) {
              throw new IllegalArgumentException("key must not be null");
          }
          return data.containsKey(key.getName());
      }
docs: checks if a value for that key exists (even if this value is null)
  
  @param <T>
  @param key
  @return