public PlanNodeStatsEstimate normalize(PlanNodeStatsEstimate stats)
    {
        return normalize(stats, Optional.empty());
    }
@Test
    public void testDropNonOutputSymbols()
    {
        VariableReferenceExpression a = new VariableReferenceExpression(Optional.empty(), "a", BIGINT);
        VariableReferenceExpression b = new VariableReferenceExpression(Optional.empty(), "b", BIGINT);
        VariableReferenceExpression c = new VariableReferenceExpression(Optional.empty(), "c", BIGINT);
        PlanNodeStatsEstimate estimate = PlanNodeStatsEstimate.builder()
                .setOutputRowCount(40)
                .setTotalSize(160)
                .addVariableStatistics(a, VariableStatsEstimate.builder().setDistinctValuesCount(20).build())
                .addVariableStatistics(b, VariableStatsEstimate.builder().setDistinctValuesCount(30).build())
                .addVariableStatistics(c, VariableStatsEstimate.unknown())
                .build();

        PlanNodeStatsAssertion.assertThat(normalizer.normalize(estimate, ImmutableList.of(b, c)))
                .totalSize(160)
                .variablesWithKnownStats(b)
                .variableStats(b, variableAssert -> variableAssert.distinctValuesCount(30));
    }