/// <exclude/>
        public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
        {
            if (!CanConvertTo(destinationType))
            {
                throw GetConvertToException(value, destinationType);
            }

            if ((value != null) && (value is DockTreeZOrder))
            {
                DockTreeZOrder z = (DockTreeZOrder)value;
                if (destinationType == typeof(string))
                {
                    return(z.ToString());
                }

                if (destinationType == typeof(InstanceDescriptor))
                {
                    return(new InstanceDescriptor(typeof(DockTreeZOrder).GetConstructor(new Type[] { typeof(Dock), typeof(Dock), typeof(Dock), typeof(Dock) }), new object[] { z.First, z.Second, z.Third, z.Fourth }));
                }
            }

            throw GetConvertToException(value, destinationType);
        }