public long lengthBetween(int start,int end){
  final int fileStart=mFileNoLookup.lookup(start);
  final int fileEnd=mFileNoLookup.lookup(end);
  final int startIndex=start - mFileNoLookup.startSeq(fileStart);
  final int endIndex=end - mFileNoLookup.startSeq(fileEnd);
  long retLength=-mPointers[fileStart][startIndex];
  for (int i=fileStart; i < fileEnd; i++) {
    retLength+=mPointers[i][mPointers[i].length - 1];
  }
  retLength+=mPointers[fileEnd][endIndex];
  return retLength;
}

public long lengthBetween ( int start , int end ) { final int fileStart = mFileNoLookup . lookup ( start ) ; final int fileEnd = mFileNoLookup . lookup ( end ) ; final int startIndex = start - mFileNoLookup . startSeq ( fileStart ) ; final int endIndex = end - mFileNoLookup . startSeq ( fileEnd ) ; long retLength = - mPointers [ fileStart ] [ startIndex ] ; for ( int i = fileStart ; i < fileEnd ; i ++ ) { retLength += mPointers [ i ] [ mPointers [ i ] . length - 1 ] ; } retLength += mPointers [ fileEnd ] [ endIndex ] ; return retLength ; }
return total length between given sequences
