code: public CompletableFuture<TopicDescription> getTopicAsync(String path) {
          EntityNameHelper.checkValidTopicName(path);
  
          CompletableFuture<String> contentFuture = getEntityAsync(path, null, false);
          CompletableFuture<TopicDescription> tdFuture = new CompletableFuture<>();
          contentFuture.handleAsync((content, ex) -> {
              if (ex != null) {
                  tdFuture.completeExceptionally(ex);
              } else {
                  try {
                      tdFuture.complete(TopicDescriptionSerializer.parseFromContent(content));
                  } catch (MessagingEntityNotFoundException e) {
                      tdFuture.completeExceptionally(e);
                  }
              }
              return null;
          }, MessagingFactory.INTERNAL_THREAD_POOL);
  
          return tdFuture;
      }
docs: Retrieves a topic from the service namespace
  @param path - The path of the queue relative to service bus namespace.
  @return - Description containing information about the topic.
  @throws IllegalArgumentException - Thrown if path is null, empty, or not in right format or length.