public HandlerQueue buildHandlerQueue (Class<? extends IEvent> event) {
		// create handler queue
		HandlerQueue queue = new HandlerQueue ();

		// append queues
		if (this.handlerMap.containsKey (event)) queue.addAll (this.handlerMap.get (event));

		// search for child
		if (event.getSuperclass () != null) {
			Class<?> superEvent = event.getSuperclass ();

			// cast
			try {
				queue.addAll (this.buildHandlerQueue (superEvent.asSubclass (IEvent.class)));
			} catch (ClassCastException ex) { }
		}

		// return finished queue
		return queue;
	}