/// <summary>
        /// Initializing this object.
        /// </summary>
        private void Initialize()
        {
            CharacteristicDictionary tmp;

            _length   = _value.Length;
            _lower    = 0;
            _upper    = 0;
            _spaces   = 0;
            _specials = 0;

            foreach (char c in _value)
            {
                switch (GetCharasteristic(c))
                {
                case Charasteristic.LowercaseLetter:
                    _lower++;
                    break;

                case Charasteristic.CapitalLetter:
                    _upper++;
                    break;

                case Charasteristic.Space:
                    _spaces++;
                    break;

                case Charasteristic.Numeric:
                    _numbers++;
                    break;

                case Charasteristic.SpecialCharacter:
                    _specials++;
                    break;

                default:
                    break;
                }
            }
            tmp = new CharacteristicDictionary(this, Container);

            Characteristics = tmp;
        }
 /// <summary>
 /// When the password changes, all variables must be updated as well.
 /// </summary>
 /// <param name="sender">The sending object.</param>
 /// <param name="e">The ChangeEventArg.</param>
 private void Password_OnChange(object sender, ChangeEventArgs <IPassword> e)
 {
     if (e?.NewValue != null)
     {
         _value          = e.NewValue.Value;
         _length         = e.NewValue.Length;
         _lower          = e.NewValue.LowerCases;
         _upper          = e.NewValue.UpperCases;
         _spaces         = e.NewValue.Spaces;
         _specials       = e.NewValue.Specials;
         Characteristics = e.NewValue.Characteristics;
     }
     else
     {
         _length         = 0;
         _lower          = 0;
         _upper          = 0;
         _spaces         = 0;
         _specials       = 0;
         _numbers        = 0;
         Characteristics = new CharacteristicDictionary(this, Container);
     }
 }