int num_of_subtrees = 5;
final List<AbstractExpression> combine_exps = new ArrayList<AbstractExpression>();
final Map<AbstractExpression, AbstractExpression> combine_exps_left = new HashMap<AbstractExpression, AbstractExpression>();
final Map<AbstractExpression, AbstractExpression> combine_exps_right = new HashMap<AbstractExpression, AbstractExpression>();
for (int ctr = 0; ctr < num_of_subtrees; ctr++) {
AbstractExpression exps[] = { new ComparisonExpression(ExpressionType.COMPARE_EQUAL),
new ParameterValueExpression(),
new TupleValueExpression()
};
exps[0].setLeft(exps[1]);
exps[0].setRight(exps[2]);