*
* @param eventType The type of {@link ControllerEvent}
*/
protected void fireEvent(int eventType) {
ArrayList<WeakReference<IControllerListener>> toRemove = new ArrayList<WeakReference<IControllerListener>>();
ControllerEvent event = new ControllerEvent(this, eventType);
synchronized (listenerList) {
for (WeakReference<IControllerListener> ref : listenerList) {
IControllerListener temp = ref.get();
if (temp == null) {
toRemove.add(ref);