public void unregisterListener( EventListener listener, Plugin plugin )
	{
		for( Class< ? extends Event > eventClass : executors.keySet())
		{
			List< EventExecutor > keep = new ArrayList< EventExecutor >();
			
			for( EventExecutor e : executors.get( eventClass ) )
			{
				if( e.getListener().getClass() == listener.getClass() && e.getPlugin().getClass() == plugin.getClass() )
				{
					continue;
				}
				
				keep.add( e );
			}
			
			if( keep.isEmpty() )
			{
				executors.remove( eventClass );
			}
			else
			{
				executors.put( eventClass, keep );
			}
		}
	}