@Override
	public void run( ) {
		
		while ( this.running ) {
			if ( this.events.size( ) > 0 ) {
				final AbsEvent elem = this.events.poll( );
				
				if ( elem != null ) {
					final List<? extends AbsListener<? extends AbsEvent>> lis = this.listenermap.get(elem.getType( ));
					
					for (final AbsListener<? extends AbsEvent> listener : lis)
						listener.handle(elem);
				}
			}
			
			try {
				Thread.sleep(5);
			} catch ( final InterruptedException e ) {
				e.printStackTrace( );
			}
		}
		
	}