code: @Override public float getProgress() {
  		if (length == 0)
  			return 1;
  
  		if (!isBGZF)
  			return (float)(in.getPosition() - fileStart) / length;
  
  		try {
  			if (in.peek() == -1)
  				return 1;
  		} catch (IOException e) {
  			return 1;
  		}
  
  		// Add 1 to the denominator to make sure that we never report 1 here.
  		return (float)((bci.getFilePointer() >>> 16) - fileStart) / (length + 1);
  	}
docs: For compressed BCF, unless the end has been reached, this is quite
  inaccurate.