public static ImapServerCapability ReadCapabilities(this ImapResponseReader response)
        {
            var cap = new ImapServerCapability();

            while (true) {
                var values = response.CurrentLine.Split(Characters.Space);
                foreach (var value in values.Where(value => value != "*" && value != CommandStrings.Capability)) {
                    cap.Store(value);
                }
                response.ReadNextLine();

                if (response.IsCompleted) {
                    break;
                }
            }

            return cap;
        }
        public static ImapServerCapability ReadCapabilities(this ImapResponseReader response)
        {
            var cap = new ImapServerCapability();

            while (true)
            {
                var values = response.CurrentLine.Split(Characters.Space);
                foreach (var value in values.Where(value => value != "*" && value != CommandStrings.Capability))
                {
                    cap.Store(value);
                }
                response.ReadNextLine();

                if (response.IsCompleted)
                {
                    break;
                }
            }

            return(cap);
        }