@Test
public void testAddManyConcurrentSimultaneousListeners() throws ListenerException, InterruptedException {

	List<Thread> list = new ArrayList<Thread>();
	// Spin up many simultaneous threads to 'bomb' the dispatcher with many concurrent requests
	for (int i = 0; i < amount; i++) {
		String name = "thread"+i;
		CreateListener target = new CreateListener(name);
		Thread t = new Thread(target);
		t.setName(name);
		t.start();
		list.add(t);
	}
	// Join all threads together
	for (Thread thread : list) {
		thread.join();
	}
	// Make sure the expected amount matches the clients registered in the dispatcher!
	assertEquals(amount, dispatcher.getPatternClients().size());
}