/// <summary>
        /// Creates a new instance of <see cref="MacroStabilityInwardsWaternetLine"/>.
        /// </summary>
        /// <param name="name">The name of the Waternet line.</param>
        /// <param name="geometry">The geometry points of the Waternet line.</param>
        /// <param name="phreaticLine">The associated phreatic line.</param>
        /// <exception cref="ArgumentNullException">Thrown when any input argument
        /// is <c>null</c>.</exception>
        public MacroStabilityInwardsWaternetLine(string name, IEnumerable <Point2D> geometry, MacroStabilityInwardsPhreaticLine phreaticLine)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            if (geometry == null)
            {
                throw new ArgumentNullException(nameof(geometry));
            }

            if (phreaticLine == null)
            {
                throw new ArgumentNullException(nameof(phreaticLine));
            }

            Name         = name;
            Geometry     = geometry;
            PhreaticLine = phreaticLine;
        }
 private bool Equals(MacroStabilityInwardsPhreaticLine other)
 {
     return(Name.Equals(other.Name) &&
            Geometry.SequenceEqual(other.Geometry));
 }