public override List <int> getCorrespondingSel()
        {
            List <int> result = new List <int>();

            try
            {
                // treat intersections first
                while (ops.Contains(concat.intersection) && (ops.Contains(concat.addition) || ops.Contains(concat.substraction)))
                {
                    int                     _index     = ops.FindIndex(y => y == concat.intersection);
                    ConsoleElement          c1         = content[_index];
                    ConsoleElement          c2         = content[_index + 1];
                    ConsoleContainerElement _brackElem = new ConsoleContainerElement(this);
                    _brackElem.content.Add(c1);
                    _brackElem.content.Add(c2);
                    _brackElem.ops.Add(ops[_index]);
                    content.Remove(c1);
                    content.Remove(c2);
                    ops.RemoveAt(_index);
                    content.Insert(_index, _brackElem);
                }
                Queue <ConsoleElement> queuedContent = new Queue <ConsoleElement>(content);
                Queue <concat>         queuedOps     = new Queue <concat>(ops);
                result = queuedContent.Dequeue().getCorrespondingSel();
                while (queuedOps.Count > 0)
                {
                    result = Eval(result, queuedContent.Dequeue(), queuedOps.Dequeue());
                }
            }
            catch
            {
            }
            return(result);
        }
        private List <int> Eval(List <int> c1, ConsoleElement c2, concat _ops)
        {
            List <int> result = new List <int>();

            if (_ops == concat.addition)
            {
                result = c1 + c2;
                return(result);
            }
            if (_ops == concat.substraction)
            {
                result = c1 - c2;
                return(result);
            }
            if (_ops == concat.intersection)
            {
                result = c1 * c2;
                return(result);
            }
            return(result);
        }