@Override
    public boolean isActive() {
        // As java.nio.ServerSocketChannel.isBound() will continue to return true even after the channel was closed
        // we will also need to check if it is open.
        return isOpen() && bound;
    }
@Test
    public void testIsActiveFalseAfterClose() throws Exception {
        NioServerDomainSocketChannel serverSocketChannel = new NioServerDomainSocketChannel();
        EventLoopGroup group = new NioEventLoopGroup(1);
        File file = newRandomTmpFile();
        try {
            group.register(serverSocketChannel).syncUninterruptibly();
            Channel channel = serverSocketChannel.bind(
                    newUnixDomainSocketAddress(file.getAbsolutePath()))
                    .syncUninterruptibly().channel();
            assertTrue(channel.isActive());
            assertTrue(channel.isOpen());
            channel.close().syncUninterruptibly();
            assertFalse(channel.isOpen());
            assertFalse(channel.isActive());
        } finally {
            group.shutdownGracefully();
            file.delete();
        }
    }