assertChildren(access, project);
PlanNode newSelect = project.getFirstChild();
assertThat(newSelect.getType(), is(Type.SELECT));
assertThat(newSelect.getSelectors(), is(access.getSelectors()));
assertThat(newSelect.getParent(), is(sameInstance(project)));
Between between = newSelect.getProperty(Property.SELECT_CRITERIA, Between.class);
assertThat(between.getOperand(), is(select2.getProperty(Property.SELECT_CRITERIA, Comparison.class).getOperand1()));
assertThat(between.getLowerBound(), is(select3.getProperty(Property.SELECT_CRITERIA, Comparison.class).getOperand2()));
assertThat(between.getUpperBound(), is(select2.getProperty(Property.SELECT_CRITERIA, Comparison.class).getOperand2()));
assertThat(between.isLowerBoundIncluded(), is(true));
assertThat(between.isUpperBoundIncluded(), is(true));
assertChildren(newSelect, select1);
assertChildren(select1, source);
}