code: public PubsubFuture<List<String>> publish(final List<Message> messages, final String canonicalTopic) {
      Topic.validateCanonicalTopic(canonicalTopic);
      return publish0(messages, canonicalTopic);
    }
docs: Publish a batch of messages.
  
  @param messages       The batch of messages.
  @param canonicalTopic The canonical topic to publish on.
  @return a future that is completed with a list of message ID's for the published messages.