code: public void setNodeMetaData(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();
          }
          Object old = metaDataMap.put(key,value);
          if (old!=null) throw new GroovyBugError("Tried to overwrite existing meta data "+this+".");
      }
docs: Sets the node meta data.
  
  @param key - the meta data key
  @param value - the meta data value
  @throws GroovyBugError if key is null or there is already meta
  data under that key