Ok, the removal from list is now working correctly. I have also learned
it is a bad idea to modify a list while iterating through it (throws an
exception unless one uses dedicated iterator object). Nevertheless I did
it without it. Had me puzzled for ages as it was working from a user
perspective but still threw concurrent exceptions.