avoid concurrent modification exceptions in edge cases by using copy of synchronizations