docs: public MessagePacker packArrayHeader(int arraySize)
              throws IOException
      {
          if (arraySize < 0) {
              throw new IllegalArgumentException("array size must be >= 0");
          }
  
          if (arraySize < (1 << 4)) {
              writeByte((byte) (FIXARRAY_PREFIX | arraySize));
          }
          else if (arraySize < (1 << 16)) {
              writeByteAndShort(ARRAY16, (short) arraySize);
          }
          else {
              writeByteAndInt(ARRAY32, arraySize);
          }
          return this;
      }