docs: public MessagePacker packMapHeader(int mapSize)
              throws IOException
      {
          if (mapSize < 0) {
              throw new IllegalArgumentException("map size must be >= 0");
          }
  
          if (mapSize < (1 << 4)) {
              writeByte((byte) (FIXMAP_PREFIX | mapSize));
          }
          else if (mapSize < (1 << 16)) {
              writeByteAndShort(MAP16, (short) mapSize);
          }
          else {
              writeByteAndInt(MAP32, mapSize);
          }
          return this;
      }