class PageProcessor {

    public Iterator<Optional<Page>> process(ConnectorSession session, DriverYieldSignal yieldSignal, LocalMemoryContext memoryContext, Page page)
    {
        return process(session, yieldSignal, memoryContext, page, false);
    }

    @VisibleForTesting public  PageProcessor(Optional<PageFilter> filter, List<? extends PageProjection> projections, OptionalInt initialBatchSize);
    @VisibleForTesting public  PageProcessor(Optional<PageFilter> filter, List<? extends PageProjection> projections, OptionalInt initialBatchSize, ExpressionProfiler expressionProfiler);
    public  PageProcessor(Optional<PageFilter> filter, List<? extends PageProjection> projections);

}