* @throws IllegalStateException
* if another listener is already registered under the same ID
*/
public synchronized void addListener(BrowserMessageListener listener) {
String id = listener.getId();
BrowserMessageListener registered = listeners.get(id);
if (registered != null) {
if (registered != listener) {
throw new IllegalStateException("Listener "
+ registered.getClass().getName() + " already registered for ID "
+ id);
}
} else {
listener.setContext(context);
listeners.put(id, listener);