public boolean union(QScannerMatch rhs)
	{
		if(equals(rhs))
		{
			QScannerMatchData max = null;
			for(QScannerMatchData t : rhs.getLexemes())
			{
				if(max == null || t.getToken().getLexeme().length() > max.getToken().getLexeme().length()) max = t;
			}
			if(lexeme == null)
			{
				if(max != null)
				{
					lexeme = max;
					return true;
				}
			}
			else if(max != null)
			{
				if(max.getToken().getLexeme().length() > lexeme.getToken().getLexeme().length())
				{
					lexeme = max;
					return true;
				}
			}
		}
		return false;
	}