Solving concurrency problem

- Error occures when one TestNG test initializes multiple threads, which execute test steps in parallel. This is fixed by using concurrent data structure instead of plain LinkedList. This problem is quite hard to reproduce using artificial tests.