code: int acceptMap(int typeByte) throws IOException {
          int size;
          if (typeByte >= MIN_FIX_MAP && typeByte <= MAX_FIX_MAP) {
              size = (typeByte - MIN_FIX_MAP);
          } else if (typeByte == MAP_16) {
              size = input.readUnsignedShort();
          } else if (typeByte == MAP_32) {
              size = input.readInt();
              if (size < 0) {
                  throw new IllegalArgumentException("Invalid binary data: Map too large");
              }
          } else {
              throw new IllegalArgumentException("Invalid binary data: Expected map, but was: 0x" + toHex(typeByte));
          }
          return size;
      }
docs: -----------------------------------------------------------------------