ch.pipeline().addLast(group3, new TestChannelHandler2());
}
})
.bind(0).awaitUninterruptibly();
EventExecutor executor1 = future.channel().pipeline().context(TestChannelHandler1.class).executor();
EventExecutor unwrapped1 = executor1.unwrap();
EventExecutor executor3 = future.channel().pipeline().context(TestChannelHandler2.class).executor();
future.channel().deregister().sync();
Channel channel = group2.register(future.channel()).sync().channel();
EventExecutor executor2 = channel.pipeline().context(TestChannelHandler1.class).executor();
// same wrapped executor
assertSame(executor1, executor2);
// different executor under the wrapper
assertNotSame(unwrapped1, executor2.unwrap());
// executor3 must remain unchanged
assertSame(executor3.unwrap(), future.channel().pipeline()
.context(TestChannelHandler2.class)
.executor()
.unwrap());