code: public static <T> RuntimeTypeAdapterFactory<T> of(Class<T> baseType, String typeFieldName, boolean maintainType) {
      return new RuntimeTypeAdapterFactory<T>(baseType, typeFieldName, maintainType);
    }
docs: Creates a new runtime type adapter using for {@code baseType} using {@code
  typeFieldName} as the type field name. Type field names are case sensitive.
  {@code maintainType} flag decide if the type will be stored in pojo or not.