private void AddSearchTreeNode(ExpressionType expressionType)
 {
     if (_CurrentExpressionTree != null)
     {
         if (!_IsCurrentDirectionRight)
         {
             _CurrentExpressionTree.LeftNode = new SearchTreeNode(_CurrentExpressionTree, expressionType);
             _CurrentExpressionTree = _CurrentExpressionTree.LeftNode;
         }
         else
         {
             _CurrentExpressionTree.RightNode = new SearchTreeNode(_CurrentExpressionTree, expressionType);
             _CurrentExpressionTree = _CurrentExpressionTree.RightNode;
         }
     }
     else
     {
         _CurrentExpressionTree = new SearchTreeNode(expressionType);
     }            
 }
 public SearchTreeNode(SearchTreeNode parent, ExpressionType operand)
     : this(operand)
 {
     Parent = parent;
 }