code: public static boolean[] unpack(int[] packed, int length) {
      boolean[] bools = new boolean[length];
      for (int i = 0; i < length; ++i) {
        bools[i] = (packed[i >> 5] & (1 << (i & 0x1f))) != 0;
      }
      return bools;
    }
docs: Unpacks a boolean[] from an array of ints.
  This allows us to store largish boolean[]s in relatively small numbers of
  bytecode instructions.