class OffsetRangeTracker implements RangeTracker<Long> {

  public synchronized long getPositionForFractionConsumed(double fraction) {
    if (stopOffset == OFFSET_INFINITY) {
      throw new IllegalArgumentException(
          "getPositionForFractionConsumed is not applicable to an unbounded range: " + this);
    }
    return (long) Math.floor(startOffset + fraction * (stopOffset - startOffset));
  }

  public  OffsetRangeTracker(long startOffset, long stopOffset);
  private  OffsetRangeTracker();

}