static void transferObject(Pipe.Schema<Object> pipeSchema, Pipe pipe,
            Input input, Output output, IdStrategy strategy, int number)
            throws IOException
    {
        final Pipe.Schema<Object> derivedPipeSchema = strategy.transferPojoId(
                input, output, number).getPipeSchema();

        if (output instanceof StatefulOutput)
        {
            // update using the derived schema.
            ((StatefulOutput) output).updateLast(derivedPipeSchema, pipeSchema);
        }

        Pipe.transferDirect(derivedPipeSchema, pipe, input, output);
    }
Used when the type is assignable from {@link java.lang.Throwable}.

@author David Yu
@created May 2, 2012
protostuff-runtime/src/main/java/io/protostuff/runtime/PolymorphicThrowableSchema.java