code: public static WordNetRelation create(String name, String code, String reciprocal, double weight) {
      Preconditions.checkArgument(!Strings.isNullOrEmpty(name));
      Preconditions.checkArgument(weight >= 0, "Weight must be >= 0");
      name = name.toUpperCase().trim().replaceAll("\\p{Z}+", "_");
      if (!index.containsKey(name)) {
        index.put(name, new WordNetRelation(name, reciprocal, weight, code));
      }
      return index.get(name);
    }
docs: Creates or gets a Metadata with the given name
  
  @param name       The name associated with the metadata
  @param reciprocal the inverse relation
  @param weight     the weight of the corresponding edge
  @return The Metadata associated with the name or a new Metadata