NonStickyEventExecutorGroup implements EventExecutorGroup { @Override public Future<?> shutdownGracefully() { return group.shutdownGracefully(); } NonStickyEventExecutorGroup(EventExecutorGroup group);  NonStickyEventExecutorGroup(EventExecutorGroup group, int maxTaskExecutePerRun); @Override boolean isShuttingDown(); @Override Future<?> shutdownGracefully(); @Override Future<?> shutdownGracefully(long quietPeriod, long timeout, TimeUnit unit); @Override Future<?> terminationFuture(); @SuppressWarnings("deprecation") @Override void shutdown(); @SuppressWarnings("deprecation") @Override List<Runnable> shutdownNow(); @Override EventExecutor next(); @Override Iterator<EventExecutor> iterator(); @Override Future<?> submit(Runnable task); @Override Future<T> submit(Runnable task, T result); @Override Future<T> submit(Callable<T> task); @Override ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit); @Override ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit); @Override ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit); @Override ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit); @Override boolean isShutdown(); @Override boolean isTerminated(); @Override boolean awaitTermination(long timeout, TimeUnit unit); @Override List<java.util.concurrent.Future<T>> invokeAll(
            Collection<? extends Callable<T>> tasks); @Override List<java.util.concurrent.Future<T>> invokeAll(
            Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit); @Override T invokeAny(Collection<? extends Callable<T>> tasks); @Override T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit); @Override void execute(Runnable command);  }
@Test(expected = IllegalArgumentException.class) public void testInvalidGroup() { EventExecutorGroup group = new DefaultEventExecutorGroup(1); try { new NonStickyEventExecutorGroup(group); } finally { group.shutdownGracefully(); } }