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;
    }
Reads a message field value from the stream (using the {@code group} encoding).
protostuff-core/src/main/java/io/protostuff/CodedInput.java