void EnsureAccess(int level, ref RefAccessSpecifier current, RefAccessSpecifier required,
                          bool withWhiteSpace = true)
        {
            if (current == required)
            {
                return;
            }

            if (withWhiteSpace)
            {
                EnsureHeaderWhiteSpace();
            }

            WriteLine(level, $"{required.ToString().ToLower()}:", WriteTo.Header);
            current = required;
        }
        void EnsureAccess(int level, ref RefAccessSpecifier current, RefAccessSpecifier required,
                          bool withWhiteSpace = true)
        {
            if (current == required)
            {
                return;
            }

            if (withWhiteSpace)
            {
                EnsureHeaderWhiteSpace();
            }

            WriteTabs(level);
            HeaderWriteLine(string.Format("{0}:", required.ToString().ToLower()));
            current = required;
        }
        void EnsureAccess(int level, ref RefAccessSpecifier current, RefAccessSpecifier required,
            bool withWhiteSpace = true)
        {
            if (current == required) return;

            if (withWhiteSpace)
            {
                EnsureHeaderWhiteSpace();
            }

            WriteTabs(level);
            HeaderWriteLine($"{required.ToString().ToLower()}:");
            current = required;
        }