code: @Override
      public String publish(String subject, byte[] data, AckHandler ah) throws IOException,
              InterruptedException, TimeoutException {
          return publish(subject, data, ah, null);
      }
docs: /*
  PublishAsync will publish to the cluster on pubPrefix+subject and asynchronously process the
  ACK or error state. It will return the GUID for the message being sent.