code: public SubscriptionDescription createSubscription(SubscriptionDescription subscriptionDescription, RuleDescription defaultRule) throws ServiceBusException, InterruptedException {
          return Utils.completeFuture(this.asyncClient.createSubscriptionAsync(subscriptionDescription, defaultRule));
      }
docs: Creates a new subscription in the service namespace with the provided default rule.
  See {@link SubscriptionDescription} for default values of subscription properties.
  @param subscriptionDescription - A {@link SubscriptionDescription} object describing the attributes with which the new subscription will be created.
  @param defaultRule - A {@link RuleDescription} object describing the default rule. If null, then pass-through filter will be created.
  @return {@link SubscriptionDescription} of the newly created subscription.
  @throws MessagingEntityAlreadyExistsException - An entity with the same name exists under the same service namespace.
  @throws TimeoutException - The operation times out. The timeout period is initiated through ClientSettings.operationTimeout
  @throws AuthorizationFailedException - No sufficient permission to perform this operation. Please check ClientSettings.tokenProvider has correct details.
  @throws ServerBusyException - The server is busy. You should wait before you retry the operation.
  @throws ServiceBusException - An internal error or an unexpected exception occurred.
  @throws QuotaExceededException - Either the specified size in the description is not supported or the maximum allowed quota has been reached.
  @throws InterruptedException if the current thread was interrupted