code: static int lowestZeroBitStartingAt(final long bits, final int startingBit) {
      int pos = startingBit & 0X3F;
      long myBits = bits >>> pos;
  
      while ((myBits & 1L) != 0) {
        myBits = myBits >>> 1;
        pos++;
      }
      return pos;
    }
docs: Returns the zero-based bit position of the lowest zero bit of <i>bits</i> starting at
  <i>startingBit</i>. If input is all ones, this returns 64.
  @param bits the input bits as a long
  @param startingBit the zero-based starting bit position. Only the low 6 bits are used.
  @return the zero-based bit position of the lowest zero bit starting at <i>startingBit</i>.