@Test
public void testReRegister() {

    Bootstrap cb = new Bootstrap();
    ServerBootstrap sb = new ServerBootstrap();
    cb.group(group1)
            .channel(LocalChannel.class)
            .handler(new TestHandler());
    sb.group(group2)
            .channel(LocalServerChannel.class)
            .childHandler(new ChannelInitializer<LocalChannel>() {
                @Override
                public void initChannel(LocalChannel ch) throws Exception {
                    ch.pipeline().addLast(new TestHandler());
                }
            });
    Channel sc = null;
    Channel cc = null;
    try {
        // Start server
        sc = sb.bind(TEST_ADDRESS).syncUninterruptibly().channel();
        // Connect to the server
        cc = cb.connect(sc.localAddress()).syncUninterruptibly().channel();
        cc.deregister().syncUninterruptibly();
    } finally {
        closeChannel(cc);
        closeChannel(sc);
    }
}