diff --git a/lib-ogc/swe-common-core/src/main/java/org/vast/swe/fast/JsonDataParserGson.java b/lib-ogc/swe-common-core/src/main/java/org/vast/swe/fast/JsonDataParserGson.java index 16589c706a..3568a0768d 100644 --- a/lib-ogc/swe-common-core/src/main/java/org/vast/swe/fast/JsonDataParserGson.java +++ b/lib-ogc/swe-common-core/src/main/java/org/vast/swe/fast/JsonDataParserGson.java @@ -332,13 +332,14 @@ public int process(DataBlock data, int index) throws IOException // case of array with variable size items // e.g. item is itself a variable size array or a choice - if (varSizeArray != null && varSizeArray.getData() instanceof DataBlockList) + if (varSizeArray != null && varSizeArray.hasData() && varSizeArray.getData() instanceof DataBlockList) { var arrayData = (DataBlockList)varSizeArray.getData(); var globalIdx = index; for (int i = 0; i < arraySize; i++) { var itemData = arrayData.get(i); + varSizeArray.getElementType().setData(itemData); globalIdx += eltProcessor.process(itemData, 0); } index = globalIdx;