void ListenerImpl::validateFilterChains(Network::Socket::Type socket_type) {
if (config_.filter_chains().empty() && (socket_type == Network::Socket::Type::Stream ||
!udp_listener_factory_->isTransportConnectionless())) {
// If we got here, this is a tcp listener or connection-oriented udp listener, so ensure there
// is a filter chain specified
throw EnvoyException(fmt::format("error adding listener '{}': no filter chains specified",
address_->asString()));
Work around: create a never hit filter chain in listener.
Need to add tests coverage also validate that the rest of the code could tolerate empty common filter chain collection.