@SuppressWarnings("unchecked")
    static <T> Pipe.Schema<T> resolvePipeSchema(Schema<T> schema,
            Class<? super T> clazz, boolean throwIfNone)
    {
        if (Message.class.isAssignableFrom(clazz))
        {
            try
            {
                // use the pipe schema of code-generated messages if available.
                java.lang.reflect.Method m = clazz.getDeclaredMethod("getPipeSchema");
                return (Pipe.Schema<T>) m.invoke(null);
            }
            catch (Exception e)
            {
                // ignore
            }
        }

        if (RuntimeSchema.class.isAssignableFrom(schema.getClass()))
            return ((RuntimeSchema<T>) schema).getPipeSchema();

        if (throwIfNone)
            throw new RuntimeException("No pipe schema for: " + clazz);

        return null;
    }
Invoked only when applications are having pipe io operations.
protostuff-runtime/src/main/java/io/protostuff/runtime/RuntimeSchema.java