}
private Expression simplify() {
List<Expression> evaluated = evaluate(terms);
List<Expression> denominators = new ArrayList();
FractionPattern p = new FractionPattern();
for (Expression t : evaluated) {
if (p.matches(t)) {
denominators.add(p.denominator());
}
}
if (!denominators.isEmpty()) { // summing fractions
Expression lcd = new Lcm(denominators).evaluate();