static PropertyNode ConvertToNode(string name, object value)
        {
            if (value == null)
            {
                return(new Property(name));
            }
            var converter = ValueSerializer.GetValueSerializer(value.GetType());

            if (converter != ValueSerializer.Invalid)
            {
                return new Property(name)
                       {
                           Value = converter.ConvertToString(value, null)
                       }
            }
            ;

            PropertyTree node   = PropertyTree.FromValue(value);
            var          result = new PropertyTree(name);

            node.CopyContentsTo(result);
            return(result);
        }