Ensure lock list isn't mutated while iterating

While iterating over the acquired lock list we
do not want the lock.release call to mutate the
list that we are currently iterating over. To fix
this just iterate over a copy instead so that the
lock.release can remove without issue.

Change-Id: I157331ca116b97e17d10854b5227ac7ee67fac57