func (n *NameOwnerWatcher) GetOwner() string {
	n.ownersMu.RLock()
	defer n.ownersMu.RUnlock()
	for _, v := range n.owners {
		return v
	}
	return ""
}
GetOwner gets an owner of a service name of interest. For an exact watcher,
this returns the owner of the service name (or empty if no owner), for a
wildcard watcher it returns a random owner from all that match.
Even with wildcard watcher, this method can be used to get the name of the
lone owner of the service name.
package dbus
import (
	"strings"
	"sync"
	"github.com/godbus/dbus/v5"
)
type NameOwnerChange struct {
	Name, Owner string
}
type NameOwnerWatcher struct {
	Updates  <-chan NameOwnerChange
	onChange chan<- NameOwnerChange
	conn   dbusConn
	dbusCh chan *dbus.Signal
	match  dbus.MatchOption
	owners   map[string]string
	ownersMu sync.RWMutex
}