code: private void preprocess(IoBuffer pat) {
      this.b = new int[256];
      this.lim = 0;
      for (int i = 0; i < 256; i++) {
        this.b[i] = ~0;
  
      }
      for (int i = 0, j = 1; i < this.patternLen; i++, j <<= 1) {
        this.b[ByteBufferUtils.uByte(pat.get(i))] &= ~j;
        this.lim |= j;
      }
      this.lim = ~(this.lim >> 1);
  
    }
docs: Ԥ����
  
  @param pat