@Override
    public void mergeFrom(Input input, final Object owner) throws IOException
    {
        final int first = input.readFieldNumber(this);
        if (first != ID_POJO)
            throw new ProtostuffException("order not preserved.");

        doMergeFrom(input,
                strategy.resolvePojoFrom(input, ID_POJO).getSchema(), owner);
    }
Delegates to the schema derived from the input. The {@code owner} owns the message (polymorphic) that is tied to
this schema.
protostuff-runtime/src/main/java/io/protostuff/runtime/DerivativeSchema.java