@Override
    public List<MeshModel> deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException {
        final List<MeshModel> meshModels = new ArrayList<>();
        final JsonArray jsonArray = json.getAsJsonArray();
        for (int i = 0; i < jsonArray.size(); i++) {
            final JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
            final int modelId = MeshParserUtils.hexToInt(jsonObject.get("modelId").getAsString());

            final MeshModel meshModel = getMeshModel(modelId);
            meshModel.mPublicationSettings = deserializePublicationSettings(jsonObject);
            deserializeSubscription(meshModel, jsonObject);
            final List<Integer> boundKeyIndexes = getBoundAppKeyIndexes(jsonObject);
            meshModel.mBoundAppKeyIndexes.addAll(boundKeyIndexes);
            meshModels.add(meshModel);
        }
        return meshModels;
    }
Class for de-serializing a list of elements stored in the Mesh Configuration Database
mesh/src/main/java/no/nordicsemi/android/mesh/transport/MeshModelListDeserializer.java