code: @SuppressWarnings("unchecked")
    @Override
    @Nullable
    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
      if (ID_TYPE_TOKEN.equals(type)) {
        return (TypeAdapter<T>) WRAPPED_ID_ADAPTER;
      }
      if (TIME_INSTANT_TYPE_TOKEN.equals(type)) {
        return (TypeAdapter<T>) WRAPPED_TIME_INSTANT_ADAPTER;
      }
      if (BINARY_TYPE_TOKEN.equals(type)) {
        return (TypeAdapter<T>) WRAPPED_BINARY_ADAPTER;
      }
      if (PATTERN_TYPE_TOKEN.equals(type)) {
        return (TypeAdapter<T>) PATTERN_ADAPTER;
      }
      if (DECIMAL128_TYPE_TOKEN.equals(type)) {
        return (TypeAdapter<T>) DECIMAL128_ADAPTER;
      }
      return null;
    }
docs: safe unchecked, typecheck performed by type token equality