code: public static List<DeepTokenRange> getSplits(CassandraDeepJobConfig config) {
          Map<String, Iterable<Comparable>> tokens = new HashMap<>();
          IPartitioner p = getPartitioner(config);
  
          Pair<Session, String> sessionWithHost =
                  CassandraClientProvider.getSession(
                          config.getHost(), config, false);
  
          String queryLocal = "select tokens from system.local";
          tokens.putAll(fetchTokens(queryLocal, sessionWithHost, p));
  
          String queryPeers = "select peer, tokens from system.peers";
          tokens.putAll(fetchTokens(queryPeers, sessionWithHost, p));
  
          List<DeepTokenRange> merged = mergeTokenRanges(tokens, sessionWithHost.left, p);
          return splitRanges(merged, p, config.getBisectFactor());
      }
docs: Returns the token ranges that will be mapped to Spark partitions.
  
  @param config the Deep configuration object.
  @return the list of computed token ranges.