public IValueSet Union(IEnumerable <IValueSet> valueSets) { Builder Builder = new Builder(this.Type); Builder.AddAll(this.GetOrderedRanges()); foreach (IValueSet Set in valueSets) { Builder.AddAll(this.CheckCompatibility(Set).GetOrderedRanges()); } return(Builder.Build()); }