code: func (s *ServiceRecord) ServiceInstanceName() string {
  	// If no instance name provided we cannot compose service instance name
  	if s.Instance == "" {
  		return ""
  	}
  	// If not cached - compose and cache
  	if s.serviceInstanceName == "" {
  		s.serviceInstanceName = fmt.Sprintf("%s.%s", trimDot(s.Instance), s.ServiceName())
  	}
  	return s.serviceInstanceName
  }
docs: // Returns complete service instance name (e.g. MyDemo\ Service._foobar._tcp.local.),
  // which is composed from service instance name, service name and a domain.