Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismCreator.cs
===================================================================
diff -u -ra4e95638762a7a1af29dd63dec477120c4faf249 -r015b55ad823829b18ff6d14c121f99aa83aaf372
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismCreator.cs (.../AggregatedSerializableFailureMechanismCreator.cs) (revision a4e95638762a7a1af29dd63dec477120c4faf249)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismCreator.cs (.../AggregatedSerializableFailureMechanismCreator.cs) (revision 015b55ad823829b18ff6d14c121f99aa83aaf372)
@@ -37,6 +37,53 @@
///
/// The id generator to generate an id for the serializable components.
/// The the serializable components belong to.
+ /// The without a probability to
+ /// create a for.
+ /// A .
+ /// Thrown when any parameter is null.
+ /// Thrown when the
+ /// contains unsupported items in the failure mechanism section assembly results.
+ public static AggregatedSerializableFailureMechanism Create(UniqueIdentifierGenerator idGenerator,
+ SerializableTotalAssemblyResult serializableTotalAssemblyResult,
+ ExportableFailureMechanism failureMechanism)
+ {
+ if (idGenerator == null)
+ {
+ throw new ArgumentNullException(nameof(idGenerator));
+ }
+
+ if (serializableTotalAssemblyResult == null)
+ {
+ throw new ArgumentNullException(nameof(serializableTotalAssemblyResult));
+ }
+
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ SerializableFailureMechanism serializableFailureMechanism = SerializableFailureMechanismCreator.Create(idGenerator, serializableTotalAssemblyResult, failureMechanism);
+ var serializableCollection = new SerializableFailureMechanismSectionCollection(idGenerator.GetNewId("Vi"), serializableFailureMechanism);
+
+ AggregatedSerializableFailureMechanismSectionAssembly[] serializableFailureMechanismSectionAssemblyResults =
+ failureMechanism.SectionAssemblyResults
+ .Select(sectionAssemblyResult => CreateFailureMechanismSectionAssembly(idGenerator,
+ serializableFailureMechanism,
+ serializableCollection,
+ sectionAssemblyResult))
+ .ToArray();
+
+ return new AggregatedSerializableFailureMechanism(serializableFailureMechanism,
+ serializableCollection,
+ serializableFailureMechanismSectionAssemblyResults.Select(fmr => fmr.FailureMechanismSection),
+ serializableFailureMechanismSectionAssemblyResults.Select(fmr => fmr.FailureMechanismSectionAssembly));
+ }
+
+ ///
+ /// Creates an instance of an based on its input parameters.
+ ///
+ /// The id generator to generate an id for the serializable components.
+ /// The the serializable components belong to.
/// The with a probability to
/// create a for.
/// A .