private void Restore(EventParam jsonStringParam)
    {
        // instanciate a new Marker game object and a new Marker class instance
        markerInstance = JsonUtility.FromJson <Marker>(jsonStringParam.getStringParam());

        cloneMarker = Instantiate(refMarker, cloneParent);
        cloneMarker.SetActive(true);

        markerInstance.AddElement(cloneMarker);
        instancesList.Add(markerInstance);

        // set
        markerInstance.RestoreInstance();
    }
    public void PlaceMarkerClickRecieved(EventParam pointParam)
    {
        if (newMarkerAllowed == true)
        {
            if (clickCount == 0)
            {
                markerInstance = new Marker();
                //saveInstance.AddInstanceToSave(markerInstance);
            }

            cloneMarker = Instantiate(refMarker, cloneParent);
            cloneMarker.SetActive(true);
            cloneMarker.transform.position = pointParam.getPointParam();

            markerInstance.AddElement(cloneMarker);
            instancesList.Add(markerInstance);
            clickCount += 1;

            // block new marker creation when setting current parameters
            newMarkerAllowed = false;
            EventManager.TriggerEvent("ShowHideMarkerEditorInterface", null);
        }
    }