public TestingCrossJoinOperator( OperatorContext operatorContext, Lifespan lifespan) { this.operatorContext = requireNonNull(operatorContext, "operatorContext is null"); this.lifespan = requireNonNull(lifespan, "lifespan is null"); multiplierFuture = Futures.transform(buildStates.get(lifespan).getPagesFuture(), buildPages -> { requireNonNull(buildPages, "buildPages is null"); return buildPages.stream() .mapToInt(Page::getPositionCount) .sum(); }, directExecutor()); }