final private void addOperator(Operator anOperator)
	{
		//make sure the operator is valid
		if (!anOperator.getRepresentation().equals(""))
		{
			int thisOperatorPriority = anOperator.getPriority();
			int previousOperationPriority = -1;
			Token previousOperation = this.m_operationsStack.peek();
			if (previousOperation instanceof Operator)
			{
				previousOperationPriority = ((Operator) previousOperation).getPriority();
				while (previousOperation instanceof Operator && ((thisOperatorPriority < previousOperationPriority) || (anOperator.hasLeftAssociativity() && thisOperatorPriority <= previousOperationPriority)))
				{
					pushOutput(this.m_operationsStack.pop());
					previousOperation = this.m_operationsStack.peek();
					if (previousOperation instanceof Operator)
					{
						previousOperationPriority = ((Operator) previousOperation).getPriority();
					}
				}
			}
			pushOperation(anOperator);
		}
	}