fix Concurrent modification exception - wrap tables in SynchronizedMap()