public JsonDeserializer<?> createArrayDeserializer(DeserializationContext paramDeserializationContext, ArrayType paramArrayType, BeanDescription paramBeanDescription) { DeserializationConfig localDeserializationConfig = paramDeserializationContext.getConfig(); JavaType localJavaType = paramArrayType.getContentType(); JsonDeserializer localJsonDeserializer1 = (JsonDeserializer)localJavaType.getValueHandler(); TypeDeserializer localTypeDeserializer1 = (TypeDeserializer)localJavaType.getTypeHandler(); TypeDeserializer localTypeDeserializer2 = localTypeDeserializer1; if (localTypeDeserializer1 == null) localTypeDeserializer2 = findTypeDeserializer(localDeserializationConfig, localJavaType); JsonDeserializer localJsonDeserializer2 = _findCustomArrayDeserializer(paramArrayType, localDeserializationConfig, paramBeanDescription, localTypeDeserializer2, localJsonDeserializer1); Object localObject = localJsonDeserializer2; if (localJsonDeserializer2 == null) { if (localJsonDeserializer1 == null) { Class localClass = localJavaType.getRawClass(); if (localJavaType.isPrimitive()) return PrimitiveArrayDeserializers.forType(localClass); if (localClass == String.class) return StringArrayDeserializer.instance; } if (localObject == null) localObject = new ObjectArrayDeserializer(paramArrayType, localJsonDeserializer1, localTypeDeserializer2); } if (this._factoryConfig.hasDeserializerModifiers()) { Iterator localIterator = this._factoryConfig.deserializerModifiers().iterator(); while (localIterator.hasNext()) localObject = ((BeanDeserializerModifier)localIterator.next()).modifyArrayDeserializer(localDeserializationConfig, paramArrayType, paramBeanDescription, (JsonDeserializer)localObject); } return localObject; }