public JsonSerializer<?> createContextual( SerializerProvider paramSerializerProvider, BeanProperty paramBeanProperty) throws JsonMappingException { Object localObject1 = this._valueTypeSerializer; Object localObject3 = localObject1; if (localObject1 != null) { localObject3 = ((TypeSerializer) localObject1).forProperty(paramBeanProperty); } Object localObject2 = null; JsonFormat.Value localValue = null; Object localObject5 = null; Object localObject4 = localObject5; if (paramBeanProperty != null) { localObject4 = paramBeanProperty.getMember(); localObject2 = paramSerializerProvider.getAnnotationIntrospector(); localObject1 = localValue; if (localObject4 != null) { Object localObject6 = ((AnnotationIntrospector) localObject2).findContentSerializer((Annotated) localObject4); localObject1 = localValue; if (localObject6 != null) { localObject1 = paramSerializerProvider.serializerInstance((Annotated) localObject4, localObject6); } } localValue = paramBeanProperty.findFormatOverrides((AnnotationIntrospector) localObject2); localObject2 = localObject1; localObject4 = localObject5; if (localValue != null) { localObject4 = localValue.getFeature(JsonFormat.Feature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED); localObject2 = localObject1; } } localObject1 = localObject2; if (localObject2 == null) { localObject1 = this._elementSerializer; } localObject2 = findConvertingContentSerializer( paramSerializerProvider, paramBeanProperty, (JsonSerializer) localObject1); if (localObject2 == null) { localObject1 = localObject2; if (this._elementType != null) { if (!this._staticTyping) { localObject1 = localObject2; if (!hasContentTypeAnnotation(paramSerializerProvider, paramBeanProperty)) { break label185; } } } } for (localObject1 = paramSerializerProvider.findValueSerializer(this._elementType, paramBeanProperty); ; localObject1 = paramSerializerProvider.handleSecondaryContextualization( (JsonSerializer) localObject2, paramBeanProperty)) { label185: return withResolved( paramBeanProperty, (TypeSerializer) localObject3, (JsonSerializer) localObject1, (Boolean) localObject4); } }