@@ -165,7 +165,7 @@ public <U> Optional<? extends InstanceCreator<U>> create(TypeToken<U> createType
165165 @ SuppressWarnings ("unchecked" )
166166 public <T > TypeSerializer <T > getTypeSerializer (TypeToken <T > type ) {
167167 TypeSerializer <T > serializer = (TypeSerializer <T >) typeSerializerMap .get (type );
168- if (serializer != null ) return serializer ;
168+ if (serializer != null && (!( serializer instanceof FutureTypeSerializer )) ) return serializer ;
169169
170170 synchronized (this ) {
171171 serializer = (TypeSerializer <T >) typeSerializerMap .get (type );
@@ -196,7 +196,7 @@ public <T> TypeSerializer<T> getTypeSerializer(TypeToken<T> type) {
196196 @ SuppressWarnings ("unchecked" )
197197 public <T > TypeDeserializer <T > getTypeDeserializer (TypeToken <T > type ) {
198198 TypeDeserializer <T > deserializer = (TypeDeserializer <T >) typeDeserializerMap .get (type );
199- if (deserializer != null ) return deserializer ;
199+ if (deserializer != null && (!( deserializer instanceof FutureTypeDeserializer )) ) return deserializer ;
200200
201201 synchronized (this ) {
202202 deserializer = (TypeDeserializer <T >) typeDeserializerMap .get (type );
@@ -227,7 +227,7 @@ public <T> TypeDeserializer<T> getTypeDeserializer(TypeToken<T> type) {
227227 @ SuppressWarnings ("unchecked" )
228228 public <T > InstanceCreator <T > getInstanceCreator (TypeToken <T > type ) {
229229 InstanceCreator <T > instanceCreator = (InstanceCreator <T >) instanceCreatorMap .get (type );
230- if (instanceCreator != null ) return instanceCreator ;
230+ if (instanceCreator != null && (!( instanceCreator instanceof FutureInstanceCreator )) ) return instanceCreator ;
231231
232232 synchronized (this ) {
233233 instanceCreator = (InstanceCreator <T >) instanceCreatorMap .get (type );
0 commit comments