@Override
	public boolean evaluate(Robot robot) {
		
		switch(type){
		case EQ: return ((NumericalEvaluatable)argOne).evaluate(robot) 
				== ((NumericalEvaluatable)argTwo).evaluate(robot);
		case GT: return ((NumericalEvaluatable)argOne).evaluate(robot) 
				> ((NumericalEvaluatable)argTwo).evaluate(robot);
		case LT: return ((NumericalEvaluatable)argOne).evaluate(robot) 
				< ((NumericalEvaluatable)argTwo).evaluate(robot);
		case AND: 
			return ((BooleanEvaluatable)argOne).evaluate(robot) 
					&& ((BooleanEvaluatable)argTwo).evaluate(robot);
		case OR:
			return ((BooleanEvaluatable)argOne).evaluate(robot) 
					|| ((BooleanEvaluatable)argTwo).evaluate(robot);
		case NOT:
			return !((BooleanEvaluatable)argOne).evaluate(robot);
		}
		
		throw new ParserFailureException("Could not determine condition type");
	}