private List<Scene> deserializeScenes(@NonNull final JsonObject jsonNetwork,
                                          @NonNull final String meshUuid) {
        final List<Scene> scenes = new ArrayList<>();
        try {
            if (!jsonNetwork.has("scenes"))
                return scenes;

            final JsonArray jsonScenes = jsonNetwork.getAsJsonArray("scenes");
            for (int i = 0; i < jsonScenes.size(); i++) {
                final JsonObject jsonScene = jsonScenes.get(i).getAsJsonObject();
                final String name = jsonScene.get("name").getAsString();
                final List<Integer> addresses = new ArrayList<>();
                if (jsonScene.has("addresses")) {
                    final JsonArray addressesArray = jsonScene.get("addresses").getAsJsonArray();
                    for (int j = 0; j < addressesArray.size(); j++) {
                        addresses.add(Integer.parseInt(addressesArray.get(j).getAsString(), 16));
                    }
                }
                final int number;
                if (jsonScene.has("scene")) {
                    number = Integer.parseInt(jsonScene.get("scene").getAsString(), 16);
                } else {
                    number = Integer.parseInt(jsonScene.get("number").getAsString(), 16);
                }
                final Scene scene = new Scene(number, addresses, meshUuid);
                scene.setName(name);
                scenes.add(scene);
            }
        } catch (Exception ex) {
            MeshLogger.error(TAG, "Error while de-serializing scenes: " + ex.getMessage());
        }
        return scenes;
    }
Returns a list of scenes de-serializing the json array containing the scenes

@param jsonNetwork json array containing the scenes
@param meshUuid    network provisionerUuid
@return List of nodes
mesh/src/main/java/no/nordicsemi/android/mesh/MeshNetworkDeserializer.java