docs: public static LongDeserializer getDeserializer(int longSize, ByteBuffer fromBuffer, int bufferOffset)
    {
      // The buffer needs to be duplicated since the byte order is changed
      ByteBuffer buffer = fromBuffer.duplicate().order(ByteOrder.BIG_ENDIAN);
      switch (longSize) {
        case 1:
          return new Size1Des(buffer, bufferOffset);
        case 2:
          return new Size2Des(buffer, bufferOffset);
        case 4:
          return new Size4Des(buffer, bufferOffset);
        case 8:
          return new Size8Des(buffer, bufferOffset);
        case 12:
          return new Size12Des(buffer, bufferOffset);
        case 16:
          return new Size16Des(buffer, bufferOffset);
        case 20:
          return new Size20Des(buffer, bufferOffset);
        case 24:
          return new Size24Des(buffer, bufferOffset);
        case 32:
          return new Size32Des(buffer, bufferOffset);
        case 40:
          return new Size40Des(buffer, bufferOffset);
        case 48:
          return new Size48Des(buffer, bufferOffset);
        case 56:
          return new Size56Des(buffer, bufferOffset);
        case 64:
          return new Size64Des(buffer, bufferOffset);
        default:
          throw new IAE("Unsupported size %s", longSize);
      }
    }