synchronized (listeners) {
tmp = new ArrayList<AuctionMessageListener>();
tmp.addAll(listeners);
}
final ServerSocketWorker source = this;
final AuctionMessage data = message;
for (final AuctionMessageListener socketClientTextListener : tmp) {
threadPool.execute(new Runnable() {
public void run() {
socketClientTextListener.onMessageReceived(new MessageEvent(source, data));