private int firstDoc(int i4096){
  long index=0;
  while (i4096 < indices.length) {
    index=indices[i4096];
    if (index != 0) {
      final int i64=Long.numberOfTrailingZeros(index);
      return (i4096 << 12) | (i64 << 6) | Long.numberOfTrailingZeros(bits[i4096][0]);
    }
    i4096+=1;
  }
  return DocIdSetIterator.NO_MORE_DOCS;
}

private int firstDoc ( int i4096 ) { long index = 0 ; while ( i4096 < indices . length ) { index = indices [ i4096 ] ; if ( index != 0 ) { final int i64 = Long . numberOfTrailingZeros ( index ) ; return ( i4096 << 12 ) | ( i64 << 6 ) | Long . numberOfTrailingZeros ( bits [ i4096 ] [ 0 ] ) ; } i4096 += 1 ; } return DocIdSetIterator . NO_MORE_DOCS ; }
return the first document that occurs on or after the provided block index .
