/// <summary>
        /// Writes the <paramref name="dikeSoilScenario"/> in XML format to file when it has a value.
        /// </summary>
        /// <param name="writer">The writer to use for writing.</param>
        /// <param name="elementName">The XML element name.</param>
        /// <param name="dikeSoilScenario">The dike soil scenario to write.</param>
        /// <exception cref="InvalidOperationException">Thrown when the <paramref name="writer"/>
        /// is closed.</exception>
        /// <exception cref="NotSupportedException">Thrown when the conversion of
        /// <paramref name="dikeSoilScenario"/> cannot be performed.</exception>
        private static void WriteDikeSoilScenarioWhenContentAvailable(XmlWriter writer,
                                                                      string elementName,
                                                                      ConfigurationDikeSoilScenario?dikeSoilScenario)
        {
            if (!dikeSoilScenario.HasValue)
            {
                return;
            }

            var typeConverter = new ConfigurationDikeSoilScenarioTypeConverter();

            writer.WriteElementString(elementName,
                                      typeConverter.ConvertToInvariantString(dikeSoilScenario.Value));
        }