static Gson create(Iterable<TypeAdapter<?>> adapters) {
    GsonBuilder builder = new GsonBuilder().setPrettyPrinting();
    builder.registerTypeAdapter(
        new TypeToken<Map<String, Object>>() {}.getType(), new DoubleToIntMapTypeAdapter());
    for (TypeAdapter<?> adapter : adapters) {
      Type type = resolveLastTypeParameter(adapter.getClass(), TypeAdapter.class);
      builder.registerTypeAdapter(type, adapter);
    }
    return builder.create();
  }
Registers type adapters by implicit type. Adds one to read numbers in a {@code Map<String,
Object>} as Integers.
gson/src/main/java/feign/gson/GsonFactory.java