docs: public boolean contains(int o)
    {
      if (isEmpty() || o > last || o < 0) {
        return false;
      }
  
      // check if the element is within a literal word
      int block = maxLiteralLengthDivision(o);
      int bit = maxLiteralLengthModulus(o);
      for (int i = 0; i <= lastWordIndex; i++) {
        final int w = words[i];
        final int t = w & 0xC0000000; // the first two bits...
        switch (t) {
          case 0x80000000:  // LITERAL
          case 0xC0000000:  // LITERAL
            // check if the current literal word is the "right" one
            if (block == 0) {
              return (w & (1 << bit)) != 0;
            }
            block--;
            break;
          case 0x00000000:  // ZERO SEQUENCE
            if (!simulateWAH) {
              if (block == 0 && ((w >> 25) - 1) == bit) {
                return true;
              }
            }
            block -= getSequenceCount(w) + 1;
            if (block < 0) {
              return false;
            }
            break;
          case 0x40000000:  // ONE SEQUENCE
            if (!simulateWAH) {
              if (block == 0 && (0x0000001F & (w >> 25) - 1) == bit) {
                return false;
              }
            }
            block -= getSequenceCount(w) + 1;
            if (block < 0) {
              return true;
            }
            break;
        }
      }
  
      // no more words
      return false;
    }