code: public <T> T get(final Object key) {
  		@SuppressWarnings("unchecked")
  		// cast is not safe but convenient
  		T value = (T) additionalData.get(key);
  		return value;
  	}
docs: Returns the value stored under the specified key in the internal map of additional meta data.
  For convenience, the value is internally cast to the generic type. It is the caller's
  responsibility to make sure the cast is safe.
  
  @param key
  the key
  @return the value stored under the specified key, or null
  @see java.util.Map#get(java.lang.Object)