             return "\(indent)\(name.uppercased())(\"\(jsonProperty)\")"
         } else {
             if isArray {
-                return "\(indent)@SerializedName(\"\(jsonProperty)\")\n\(indent)@Expose\n\(indent)public final List<\(RESTProperty.mapTypeToJava(swiftType: primitiveType))> \(name);"
+                var jDeclString = "\(indent)@SerializedName(\"\(jsonProperty)\")\n\(indent)@Expose\n"
+                if dataComesFromSoapService {
+                    jDeclString += "\(indent)@JsonAdapter(AlwaysListTypeAdapterFactory.class)\n"
+                }
+                jDeclString += "\(indent)public final List<\(RESTProperty.mapTypeToJava(swiftType: primitiveType))> \(name);"
+                return jDeclString
             } else {
                 return "\(indent)@SerializedName(\"\(jsonProperty)\")\n\(indent)@Expose\n\(indent)public final \(RESTProperty.mapTypeToJava(swiftType: type)) \(name);"
             }

    let enumParentName: String
    let overrideInitializers: Set<ParentRelation>
    let embedParseSDKSupport: Bool

    let indent = "    "


            self.enumParentName = "String"
        }
        self.overrideInitializers = overrideInitializers
        dataComesFromSoapService = false // not relevant here
    }

    // wsdl XML uses this initializer:
