@Override
	public Object evaluate(Context context) {
		Iterator<Term> i = terms.iterator();
		Term first = i.next();
		Object value = first.operand.evaluate(context);
		
		while (i.hasNext()){
			Term next = i.next();
			switch (next.operator){
			case MULT: value = Operations.mul(value, next.operand.evaluate(context)); break;
			case DIV: value = Operations.div(value, next.operand.evaluate(context)); break;
			}
		}
		
		return value;
	}