docs: public int previousSetBit(int from) {
          if(from < 0 || from >= size)
              throw new IndexOutOfBoundsException("index: " + from);
  
          int u = wordIndex(from);
  
          long word = words[u] & (WORD_MASK >>> -(from+1));
  
          while (true) {
              if (word != 0)
                  return (u+1) * BITS_PER_WORD - 1 - Long.numberOfLeadingZeros(word);
              if (u-- == 0)
                  return -1;
              word = words[u];
          }
      }