/// <summary>
        ///     Takes in a string, and returns a boolean indicating whether the given string
        ///     contains valid code bracket pairs, or false if it contains invalid/unpaired brackets.
        /// </summary>
        /// <param name="input"></param>
        /// <returns> Boolean indicating if given string has valid bracket pairs </returns>
        public static bool MultiBracketValidation(string input)
        {
            CharStack stack = new CharStack();

            foreach (char c in input)
            {
                if (c == '[' || c == '(' || c == '{')
                {
                    stack.Push(new CharNode(c));
                }
                else if (c == ']')
                {
                    if (stack.Peek() == null || stack.Pop().Value != '[')
                    {
                        return(false);
                    }
                }
                else if (c == ')')
                {
                    if (stack.Peek() == null || stack.Pop().Value != '(')
                    {
                        return(false);
                    }
                }
                else if (c == '}')
                {
                    if (stack.Peek() == null || stack.Pop().Value != '{')
                    {
                        return(false);
                    }
                }
            }
            if (stack.Peek() != null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }