public static IObjectData Format(Version value, IObjectDataValueFactory factory, bool omitDefault)
            {
                // argument checks
                if (value == null)
                {
                    return(null);
                }
                Debug.Assert(factory != null);

                IObjectData data = factory.CreateEmptyObjectData();

                data.SetInt32Value(Major, value.Major, omitDefault, value.Major == 0);
                data.SetInt32Value(Minor, value.Minor, omitDefault, value.Minor == 0);
                return(data);
            }
            public static IObjectData Format(DateTime value, IObjectDataValueFactory factory, bool omitDefault)
            {
                // argument checks
                if (value == null)
                {
                    return(null);
                }
                Debug.Assert(factory != null);

                IObjectData data = factory.CreateEmptyObjectData();

                data.SetInt32Value(Year, value.Year, omitDefault, value.Year == 0);
                data.SetInt32Value(Month, value.Month, omitDefault, value.Month == 0);
                data.SetInt32Value(Day, value.Day, omitDefault, value.Day == 0);
                return(data);
            }