code: private synchronized void performReliableSubscription() {
          // If timer is not running, initialize it.
          if (subscriberTimer == null) {
              LOGGER.info("Initializing reliable subscriber");
              subscriberTimer = createTimerInternal();
              ExponentialBackOff backOff = new ExponentialBackOff.Builder()
                      .setMaxElapsedTimeMillis(Integer.MAX_VALUE /* Try forever */)
                      .setMaxIntervalMillis(MAX_BACKOFF_MS)
                      .setMultiplier(MULTIPLIER)
                      .setRandomizationFactor(0.5)
                      .setInitialIntervalMillis(SEED_BACKOFF_MS)
                      .build();
              subscriberTimer.schedule(new SubscriberTask(backOff), SEED_BACKOFF_MS, TimeUnit.MILLISECONDS);
          }
      }
docs: Task that performs Subscription.