/// <summary> /// Performs a "union" of the two SerializableLists, where all the elements /// in both SerializableLists are present. That is, the element is included if it is in either <c>a</c> or <c>b</c>. /// Neither this SerializableList nor the input SerializableList are modified during the operation. The return value /// is a <c>Clone()</c> of this SerializableList with the extra elements added in. /// </summary> /// <param name="a">A collection of elements.</param> /// <returns>A new <c>SerializableList</c> containing the union of this <c>SerializableList</c> with the specified collection. /// Neither of the input objects is modified by the union.</returns> public virtual SerializableList <T> Union(SerializableList <T> a) { SerializableList <T> resultSerializableList = (SerializableList <T>) this.Clone(); if (a != null) { resultSerializableList.AddAll(a); } return(resultSerializableList); }