public static boolean register(PropertyType<?> type) {
    String name = type.getName();
    synchronized(TYPES) {
      PropertyType<?> ptype = TYPES.putIfAbsent(name, type);
      if (ptype != null) {
        if (ptype == type) {
          return false;
        }
        throw new IllegalArgumentException("type " + name + " is already registered");
      }
    }
    return true;
  }
Registers a property type.
@param type the type
@return true if type is registered, false if it was already registered
@throws IllegalArgumentException if a type with the same name has already been registered
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/PropertyType.java