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);
   }
 }