func Wrap(l net.Listener) net.Listener {
	return &listener{Listener: l, cond: sync.NewCond(&sync.Mutex{})}
}
func Wrap(l net.Listener) net.Listener {
	return &listener{Listener: l, cond: sync.NewCond(&sync.Mutex{})}
}
// Wrap returns a new Listener around the provided net.Listener.
// The returned Listener has a guarantee that when Close returns, it will no longer
// accept any new connections.
// See: https://github.com/uber/tchannel-go/issues/141