code: public CompletableFuture<String> publish(final String topic, final Message message) {
      final TopicQueue queue = topics.computeIfAbsent(topic, TopicQueue::new);
      final CompletableFuture<String> future = queue.send(message);
      listener.publishingMessage(this, topic, message, future);
      return future;
    }
docs: Publish a message on a specific topic.
  
  @param topic   The topic name to publish on. Note that this is the short name, not the fully qualified name
  including project. The project to publish on is configured using the {@link Builder}.
  @param message The message to publish.
  @return A future that is fulfilled with the resulting Google Pub/Sub message ID when the message has been
  successfully published.