public void Save()
 {
     if (_xmlNode == null)
     {
         return;                 //not the time to save
     }
     XmlUtil.SetNameAttribute(_xmlNode, _name);
     XmlUtil.SetAttribute(_xmlNode, XMLATT_Type, TypeToString(_type));
     XmlUtil.SetAttribute(_xmlNode, XMLATT_Encrypted, Encrypted);
     if (_data != null && _type.IsAssignableFrom(_data.GetType()))
     {
         if (VPL.VPLUtil.IsDefaultValue(_data))
         {
             _xmlNode.InnerText = string.Empty;
         }
         else
         {
             if (typeof(string).Equals(_type))
             {
                 if (Encrypted)
                 {
                     if (ApplicationConfiguration.CanEncrypt)
                     {
                         _xmlNode.InnerText = ApplicationConfiguration.Encrypt(_data.ToString());
                     }
                     else
                     {
                         _xmlNode.InnerText = _data.ToString();
                     }
                 }
                 else
                 {
                     _xmlNode.InnerText = _data.ToString();
                 }
             }
             else
             {
                 TypeConverter tc = TypeDescriptor.GetConverter(_type);
                 _xmlNode.InnerText = tc.ConvertToInvariantString(_data);
             }
         }
     }
 }