public int nextClearBit(int fromIndex){
  int i=fromIndex >> ADDRESS_BITS;
  int max=data.length;
  for (; i < max; i++) {
    if (data[i] == -1) {
      continue;
    }
    int j=Math.max(fromIndex,i << ADDRESS_BITS);
    for (int end=j + 64; j < end; j++) {
      if (!get(j)) {
        return j;
      }
    }
  }
  return max << ADDRESS_BITS;
}

public int nextClearBit ( int fromIndex ) { int i = fromIndex > > ADDRESS_BITS ; int max = data . length ; for ( ; i < max ; i ++ ) { if ( data [ i ] == - 1 ) { continue ; } int j = Math . max ( fromIndex , i << ADDRESS_BITS ) ; for ( int end = j + 64 ; j < end ; j ++ ) { if ( ! get ( j ) ) { return j ; } } } return max << ADDRESS_BITS ; }
get the index of the next bit that is not set .
