// conditions of type
// @a = 1 and (@x = 1 or @y = 2)
// are automatically converted to
// (@a = 1 and @x = 1) union (@a = 1 and @y = 2)
AndCondition and = (AndCondition) condition;
and = and.pullOrRight();
if (and.right instanceof OrCondition) {
OrCondition or = (OrCondition) and.right;
// same as above, but with the added "and"
addToUnionList(new AndCondition(and.left, or.left), unionList);
addToUnionList(new AndCondition(and.left, or.right), unionList);