gson/src/org/immutables/gson/adapter/ExpectedSubtypesAdapter.java
@SafeVarargs
  public static <T> ExpectedSubtypesAdapter<T> create(
      Gson gson,
      TypeToken<T> type,
      TypeToken<? extends T>... subtypes) {
    return new ExpectedSubtypesAdapter<>(gson, type, subtypes);
  }
@SafeVarargs
  public static <T> ExpectedSubtypesAdapter<T> create(
      Gson gson,
      TypeToken<T> type,
      TypeToken<? extends T>... subtypes) {
    return new ExpectedSubtypesAdapter<>(gson, type, subtypes);
  }
@ SafeVarargs public static < T > ExpectedSubtypesAdapter < T > create ( Gson gson , TypeToken < T > type , TypeToken < ? extends T > ... subtypes ) { return new ExpectedSubtypesAdapter <> ( gson , type , subtypes ) ; }
Creates adapter from {@link Gson} and type tokens.
@param <T> the generic type
@param gson Gson instance
@param type supertype token
@param subtypes subtype tokens
@return subtype adapter
Creates adapter from {