public TreeExpression(FlatExpression expression)
        {
            _operands = expression.Operands;
            var lines = expression.Lines.ToList();

            _root = Split(lines, _operands.Count - 1, 0, lines.Count);
        }
 public TreeExpressionItem(int index, TreeExpressionItem ifDefined, TreeExpressionItem ifNotDefined)
 {
     IfDefined    = ifDefined;
     IfNotDefined = ifNotDefined;
     Type         = TreeExpressionItemType.Or;
     Index        = index;
 }
 public TreeExpression()
 {
     _operands = Operands.Empty;
     _root     = TreeExpressionItem.Never;
 }