class TypedRange implements Comparable<TypedRange<T>> {

  @Override
  public int compareTo(TypedRange<T> other) {
    if (getOffset() < other.getOffset()) {
      return -1;
    } else if (getOffset() > other.getOffset()) {
      return 1;
    }
    return 0;
  }

  public  TypedRange(long offset, long length, T metadata);

}