changed reentrant lock synchronization to thread safe collection wrapper