@SuppressWarnings("unchecked") public EitherTypeArgument(Gson gson, Type type) { this.typeToken = (TypeToken<T>) TypeToken.get(type); this.adapter = gson.getAdapter(this.typeToken); this.expectedTokens = new HashSet<>(); for (Type expectedType : TypeUtils.getExpectedTypes(type)) { Class<?> rawType = TypeToken.get(expectedType).getRawType(); JsonToken expectedToken = getExpectedToken(rawType); expectedTokens.add(expectedToken); } }
@SuppressWarnings("unchecked") public EitherTypeArgument(Gson gson, Type type) { this.typeToken = (TypeToken<T>) TypeToken.get(type); this.adapter = gson.getAdapter(this.typeToken); this.expectedTokens = new HashSet<>(); for (Type expectedType : TypeUtils.getExpectedTypes(type)) { Class<?> rawType = TypeToken.get(expectedType).getRawType(); JsonToken expectedToken = getExpectedToken(rawType); expectedTokens.add(expectedToken); } }