/// <summary>
        ///     Initializes the PLAIN SASL processor
        /// </summary>
        /// <param name="id"><see cref="Jid" /> of the user to authenticate</param>
        /// <param name="password">Password to use for authentication</param>
        /// <returns>Tag to send to server</returns>
        public override Tag Initialize(Jid id, string password)
        {
            base.Initialize(id, password);

            var auth = $"{(char)0}{id.User}{(char)0}{password}";

            var authTag = Client.Registry.GetTag <Auth>(XName.Get("auth", Namespaces.Sasl));

            authTag.MechanismType = MechanismTypes.Plain;
            authTag.Value         = Convert.ToBase64String(Encoding.UTF8.GetBytes(auth));

            return(authTag);
        }