I have a function that takes a List as a parameter and the aim is to merge this list with another list contained in an object.
private fun joinListToUpdatedList(listToJoin: List<ExpirationDatesArt>?){
        val folderUpdatedListValue : MutableList<ExpirationDatesArt>? = folderUpdatedList.ExpirationDatesArt?.toMutableList()
        if(listToJoin != null){
            if(folderUpdatedListValue != null){
                folderUpdatedListValue.addAll(listToJoin)
                val joinedUpdatedList = folderUpdatedListValue.distinctBy { it.cdean }
                folderUpdatedList.ExpirationDatesArt = joinedUpdatedList
            }
            else{
                folderUpdatedList.ExpirationDatesArt = listToJoin
            }
        }
    }
When I first call the function, my object's list is null, so its value is initialized with listToJoin.
If I call the function a second time, whether immediately or several seconds later, the folderUpdatedListValue initialization crashes and returns a ConcurrentModificationException error.
I don't understand why, because I'm not deleting an item, I'm just trying to access the list of the object I'm interested in.
I tried to use addAll function on listToJoin with folderUpdatedListValue but the result is the same.
How can I enable this function to be called several times?
