private void notifyListenersOfSource(final String sourceId) { final FoundSourceListener[] lisArr; synchronized (this) { lisArr = new FoundSourceListener[listeners.size()]; listeners.toArray(lisArr); } mina.getExecutor() .execute( new CatchingRunnable() { public void doRun() throws Exception { for (FoundSourceListener listener : lisArr) { listener.foundBroadcaster(streamId, sourceId); } } }); }