code: public Object putNodeMetaData(Object key, Object value) {
          if (key == null) throw new GroovyBugError("Tried to set meta data with null key on " + this + ".");
          if (metaDataMap == null) {
              metaDataMap = new ListHashMap();
          }
          return metaDataMap.put(key, value);
      }
docs: Sets the node meta data but allows overwriting values.
  
  @param key   - the meta data key
  @param value - the meta data value
  @return the old node meta data value for this key
  @throws GroovyBugError if key is null