        static void Main(string[] args)
        {
            StackInheritance stack = new StackInheritance();
            // create objects to store in the stack
            bool aBoolean = true;
            char aCharacter = '$';
            int anInteger = 34567;
            string aString = "hello";
            // use method Push to add items to stack
            stack.Push(aBoolean);
            stack.Print();
            stack.Push(aCharacter);
            stack.Print();
            stack.Push(anInteger);
            stack.Print();
            stack.Push(aString);
            stack.Print();
            // remove items from stack
            try
            {
                while (true)
                {
                    object removedObject = stack.Pop();
                    Console.WriteLine(removedObject + " popped");
                    stack.Print();
                } // end while
            } // end try
            catch (EmptyListException emptyListException)
            {
                // if exception occurs, print stack trace
                Console.Error.WriteLine(emptyListException.StackTrace);
            } // end catch
            Console.Read();
        }
