code: private static int[] makeCharTable(byte[] needle) {
          int[] table = new int[ALPHABET_SIZE];
          int l = needle.length;
          for (int i = 0; i < ALPHABET_SIZE; ++i) {
              table[i] = l;
          }
  
          l--;
          for (int i = 0; i < l; ++i) {
              table[needle[i] & 0xff] = l - i;
          }
          return table;
      }
docs: Makes the jump table based on the mismatched character information.