class VirtualListViewControlDirContextProcessor extends AbstractFallbackRequestAndResponseControlDirContextProcessor {

    public Control createRequestControl()
    {
        Control control;

        if (offsetPercentage)
        {
            control = super.createRequestControl(
                    new Class[] {
                            int.class,
                            int.class,
                            boolean.class
                    },
                    new Object[] {
                            Integer.valueOf(targetOffset),
                            Integer.valueOf(pageSize),
                            Boolean.valueOf(CRITICAL_CONTROL)
                    }
            );
        }
        else
        {
            control = super.createRequestControl(
                    new Class[] {
                            int.class,
                            int.class,
                            int.class,
                            int.class,
                            boolean.class
                    },
                    new Object[] {
                            Integer.valueOf(targetOffset),
                            Integer.valueOf(listSize),
                            Integer.valueOf(0),
                            Integer.valueOf(pageSize - 1),
                            Boolean.valueOf(CRITICAL_CONTROL)
                    }
            );
        }

        if (cookie != null)
        {
            invokeMethod(
                    "setContextID",
                    requestControlClass,
                    control,
                    new Class[] {byte[].class},
                    new Object[] {cookie.getCookie()}
            );
        }

        return control;
    }

    public  VirtualListViewControlDirContextProcessor(int pageSize);
    public  VirtualListViewControlDirContextProcessor(int pageSize,
            int targetOffset, int listSize, VirtualListViewResultsCookie cookie);

}