code: func (s *sequence) getAvailableBit(from uint64) (uint64, uint64, error) {
  	if s.block == blockMAX || s.count == 0 {
  		return invalidPos, invalidPos, ErrNoBitAvailable
  	}
  	bits := from
  	bitSel := blockFirstBit >> from
  	for bitSel > 0 && s.block&bitSel != 0 {
  		bitSel >>= 1
  		bits++
  	}
  	// Check if the loop exited because it could not
  	// find any available bit int block  starting from
  	// "from". Return invalid pos in that case.
  	if bitSel == 0 {
  		return invalidPos, invalidPos, ErrNoBitAvailable
  	}
  	return bits / 8, bits % 8, nil
  }
docs: // GetAvailableBit returns the position of the first unset bit in the bitmask represented by this sequence