code: public List<Long> searchBigFileRealtime(File f, byte[] searchBytes, long startPosition, OnRealtimeResultListener listener) {
  
  		this.onRealtimeResultListener = listener;
  		this.onProgressListener = null;
  
  		int numOfThreadsOptimized = (int) (f.length() / blockSize);
  
  		if (numOfThreadsOptimized == 0) {
  			numOfThreadsOptimized = 1;
  		}
  
  		final long fileLen = f.length();
  
  		// optimize before calling the method
  		optimize(fileLen);
  
  		setMaxNumOfThreads(1);
  		setBlockSize(fileLen);
  
  		return searchBigFile(f, searchBytes, numOfThreadsOptimized, false, startPosition);
  	}
docs: * Search bytes from big file faster with realtime result callback<br>
  <br>
  This callbacks the result in real time, but since the concurrency is
  inferior to #searchBigFile,so the execution speed is slower than
  #searchBigFile
  
  @param f
  targetFile
  @param searchBytes
  sequence of bytes you want to search
  @param startPosition
  starting position
  @param listener
  callback for progress and realtime result
  @return