docs: private <T> T mergeObjectEncodedAsGroup(T value, final Schema<T> schema) throws IOException
      {
          // if (recursionDepth >= recursionLimit) {
          // throw ProtobufException.recursionLimitExceeded();
          // }
          // ++recursionDepth;
  
          if (value == null)
          {
              value = schema.newMessage();
          }
          schema.mergeFrom(this, value);
          if (!schema.isInitialized(value))
          {
              throw new UninitializedMessageException(value, schema);
          }
          // handling is in #readFieldNumber
          checkLastTagWas(0);
          // --recursionDepth;
          return value;
      }