public static CompetitionAlertsXml ToXmlObject(CompetitionAlerts source)
        {
            Guard.NotNull(source, nameof(source));

            return(new CompetitionAlertsXml
            {
                Eliminated = AlertSourceXml.ToXmlObject(source.Eliminated),
                FirstPlace = AlertSourceXml.ToXmlObject(source.FirstPlace),
                CleanRunInStandardCourseTime = AlertSourceXml.ToXmlObject(source.CleanRunInStandardCourseTime),
                ReadyToStart = AlertSourceXml.ToXmlObject(source.ReadyToStart),
                CustomItemA = AlertSourceXml.ToXmlObject(source.CustomItemA)
            });
        }
        public static CompetitionAlerts FromXmlObject(CompetitionAlertsXml?source)
        {
            // @formatter:keep_existing_linebreaks true

            return(source == null
                ? CompetitionAlerts.Empty
                : new CompetitionAlerts(AlertSourceXml.FromXmlObject(source.Eliminated),
                                        AlertSourceXml.FromXmlObject(source.FirstPlace),
                                        AlertSourceXml.FromXmlObject(source.CleanRunInStandardCourseTime),
                                        AlertSourceXml.FromXmlObject(source.ReadyToStart),
                                        AlertSourceXml.FromXmlObject(source.CustomItemA)));

            // @formatter:keep_existing_linebreaks restore
        }