public object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent)
			{
				var s = (DateTimeScaleRescaleConditions)o ?? new DateTimeScaleRescaleConditions();

				// Cached values
				s._dataBoundsOrg = info.GetInt64("DataBoundsOrg");
				s._dataBoundsEnd = info.GetInt64("DataBoundsEnd");

				// User provided values
				s._orgRescaling = (BoundaryRescaling)info.GetEnum("OrgRescaling", typeof(BoundaryRescaling));
				s._endRescaling = (BoundaryRescaling)info.GetEnum("EndRescaling", typeof(BoundaryRescaling));
				s._userProvidedOrgRelativeTo = (BoundariesRelativeTo)info.GetEnum("OrgRelativeTo", typeof(BoundariesRelativeTo));
				s._userProvidedEndRelativeTo = (BoundariesRelativeTo)info.GetEnum("EndRelativeTo", typeof(BoundariesRelativeTo));
				s._userProvidedOrgValue = info.GetInt64("UserProvidedOrg");
				s._userProvidedOrgDateTimeKind = (DateTimeKind)info.GetEnum("UserProvidedOrgDateTimeKind", typeof(DateTimeKind));
				s._userProvidedEndValue = info.GetInt64("UserProvidedEnd");
				s._userProvidedEndDateTimeKind = (DateTimeKind)info.GetEnum("UserProvidedEndDateTimeKind", typeof(DateTimeKind));

				// Final result
				s._resultingOrg = info.GetInt64("ResultingOrg");
				s._resultingMinOrg = info.GetInt64("ResultingMinOrg");
				s._resultingEnd = info.GetInt64("ResultingEnd");
				s._resultingMaxEnd = info.GetInt64("ResultingMaxEnd");
				return s;
			}