private void createConditionalNode(int id, String conditionalExpression) throws FormatException{
		//Order of if...else if... is important
		//as SMALLER ("<") is a substring of SMALLER_OR_EQUAL ("<=")
		
		String[] tokens;
		String operation;
		if(conditionalExpression.contains(SMALLER_OR_EQUAL_THAN)){
			 tokens = conditionalExpression.split(SMALLER_OR_EQUAL_THAN);
			 operation = SMALLER_OR_EQUAL_THAN;
		} else if(conditionalExpression.contains(GREATER_OR_EQUAL_THAN)){
			tokens = conditionalExpression.split(GREATER_OR_EQUAL_THAN);
			operation = GREATER_OR_EQUAL_THAN;
		} else if(conditionalExpression.contains(SMALLER_THAN)){
			tokens = conditionalExpression.split(SMALLER_THAN);
			operation = SMALLER_THAN;
		} else if(conditionalExpression.contains(GREATER_THAN)){
			tokens = conditionalExpression.split(GREATER_THAN);
			operation = GREATER_THAN;
		}  else if(conditionalExpression.contains(EQUAL)){
			tokens = conditionalExpression.split(EQUAL);
			operation = EQUAL;
		} else {
			throw new FormatException();
		}
		if(tokens.length != 2) throw new FormatException();
		Expression lhs = this.parser.parse(tokens[0]);
		Expression rhs = this.parser.parse(tokens[1]);
		try{
			this.graph.createConditionalNode(id, lhs, rhs, operation);
		}catch(Exception e){
			throw new FormatException(e);
		}
	}