private void SetMode(string mode)
        {
            var prev = new BeautifierFlags("BLOCK");

            if (Flags != null)
            {
                FlagStore.Add(Flags);
                prev = Flags;
            }

            Flags = new BeautifierFlags(mode);

            if (FlagStore.Count == 1)
            {
                Flags.IndentationLevel = 0;
            }
            else
            {
                Flags.IndentationLevel = prev.IndentationLevel;
                if (prev.VarLine && prev.VarLineReindented)
                {
                    Flags.IndentationLevel = Flags.IndentationLevel + 1;
                }
            }

            Flags.PreviousMode = prev.Mode;
        }
 private void RestoreMode()
 {
     DoBlockJustClosed = Flags.Mode == "DO_BLOCK";
     if (FlagStore.Count > 0)
     {
         var mode = Flags.Mode;
         Flags = FlagStore[FlagStore.Count - 1];
         FlagStore.RemoveAt(FlagStore.Count - 1);
         Flags.PreviousMode = mode;
     }
 }