code: @Override
    public void setNumThreadsForParsing(Integer numThreadsForParsing) {
      if (numThreadsForParsing == null) {
        this.numThreadsForParsing = Runtime.getRuntime().availableProcessors();
        return;
      }
      if (numThreadsForParsing < 1) {
        throw new IllegalArgumentException("The number of threads can not be less than 1.");
      }
      this.numThreadsForParsing = numThreadsForParsing;
    }
docs: How many batches of scans will be processed in parallel. Disk I/O is done once per batch.
  
  @param numThreadsForParsing must be greater than zero, if null, defaults to the number of
  available processor cores