PlanNode project = new PlanNode(Type.PROJECT, access, selector("type1"));
project.setProperty(Property.PROJECT_COLUMNS,
columns(column("type1", "a1", "a"), column("type1", "a2", "b"), column("type1", "a3", "c"),
column("type1", "a4", "d")));
PlanNode select1 = new PlanNode(Type.SELECT, project, selector("type1"));
select1.setProperty(Property.SELECT_CRITERIA, new FullTextSearch(selector("type1"), "a2", "something"));
PlanNode select2 = new PlanNode(Type.SELECT, select1, selector("type1"));
select2.setProperty(Property.SELECT_CRITERIA, new SetCriteria(new PropertyValue(selector("type1"), "primaryType"),
new Literal("t1"), new Literal("t0")));
PlanNode select3 = new PlanNode(Type.SELECT, select2, selector("type1"));
select3.setProperty(Property.SELECT_CRITERIA, new SetCriteria(new PropertyValue(selector("type1"), "mixins"),