code: func (s *Service) SubscribeMultiple(subscriptions []packet.Subscription) SubscribeFuture {
  	s.mutex.Lock()
  	defer s.mutex.Unlock()
  
  	// save subscription
  	for _, v := range subscriptions {
  		s.subscriptions.Set(v.Topic, v)
  	}
  
  	// allocate future
  	f := future.New()
  
  	// queue subscribe
  	s.commandQueue <- &command{
  		subscribe:     true,
  		future:        f,
  		subscriptions: subscriptions,
  	}
  
  	return &subscribeFuture{f}
  }
docs: // SubscribeMultiple will send a Subscribe packet containing multiple topics to
  // subscribe. It will return a SubscribeFuture that gets completed once the
  // acknowledgements have been received.