private EXP_TreeNode DoLogical_AND_OR(char chSensitive, Operation_IDs oID, DoNextOP nextOP)
        {
            EXP_TreeNode node  = null;
            EXP_TreeNode node1 = nextOP();
            EXP_TreeNode node2 = null;

            while (_ExpressionChars[_Position] == chSensitive)
            {
                int  nPos = _Position;
                char op   = _ExpressionChars[_Position++];

                if (op == chSensitive)
                {
                    OutputID(oID, chSensitive.ToString() + chSensitive.ToString(), nPos);
                    _Position++;
                }

                node2 = nextOP();

                node = NewTreeNode(node1, node2, oID, nPos);

                node1 = node;
            }

            return(node1);
        }
		private EXP_TreeNode DoLogical_AND_OR(char chSensitive, Operation_IDs oID, DoNextOP nextOP)
		{
			EXP_TreeNode node = null;
			EXP_TreeNode node1 = nextOP();
			EXP_TreeNode node2 = null;

			while (_ExpressionChars[_Position] == chSensitive)
			{
				int nPos = _Position;
				char op = _ExpressionChars[_Position++];

				if (op == chSensitive)
				{
					OutputID(oID, chSensitive.ToString() + chSensitive.ToString(), nPos);
					_Position++;
				}

				node2 = nextOP();

				node = NewTreeNode(node1, node2, oID, nPos);

				node1 = node;
			}

			return node1;
		}