code: private void countEntity() {
  		if (!this.timer.isRunning()) {
  			startTimer();
  		}
  
  		this.entityCount++;
  		if (this.entityCount % 100 == 0) {
  			timer.stop();
  			int seconds = (int) (timer.getTotalWallTime() / 1000000000);
  			if (seconds >= this.lastSeconds + this.reportInterval) {
  				this.lastSeconds = seconds;
  				printStatus();
  				if (this.timeout > 0 && seconds > this.timeout) {
  					logger.info("Timeout. Aborting processing.");
  					throw new TimeoutException();
  				}
  			}
  			timer.start();
  		}
  	}
docs: Counts one entity. Every once in a while, the current time is checked so
  as to print an intermediate report roughly every ten seconds.