public RuntimeTypeAdapterFactory<T> registerSubtype(Class<? extends T> type) {
    return registerSubtype(type, type.getSimpleName());
  }
public RuntimeTypeAdapterFactory < T > registerSubtype ( Class < ? extends T > type ) { return registerSubtype ( type , type . getSimpleName ( ) ) ; }
Registers {@code type} identified by its {@link Class#getSimpleName simple
name}. Labels are case sensitive.

@throws IllegalArgumentException if either {@code type} or its simple name
have already been registered on this type adapter.