presto-main/src/main/java/io/prestosql/operator/project/PageProcessor.java/ProjectSelectedPositions/ProjectSelectedPositions
class ProjectSelectedPositions:        private ProjectSelectedPositions(
                ConnectorSession session,
                DriverYieldSignal yieldSignal,
                LocalMemoryContext memoryContext,
                Page page,
                SelectedPositions selectedPositions,
                boolean avoidPageMaterialization)
        {
            checkArgument(!selectedPositions.isEmpty(), "selectedPositions is empty");

            this.session = session;
            this.yieldSignal = yieldSignal;
            this.page = page;
            this.memoryContext = memoryContext;
            this.avoidPageMaterialization = avoidPageMaterialization;
            this.selectedPositions = selectedPositions;
            this.previouslyComputedResults = new Block[projections.size()];
        }