code: public void run() {
  
          try {
              while (!complete) {
  
                  ContentItem contentItem = new Retrier(5, 4000, 2).execute(() -> {
                      return source.getNextContentItem();
                  });
  
                  if (contentItem == null) {
                      break;
                  }
                  while (!retrieveContent(contentItem)) {
                      sleep(1000);
                  }
              }
  
          } catch (Exception ex) {
              logger.error("Failed to run to completion", ex);
          } finally {
              shutdown();
          }
      }
docs: Begins the content retrieval process