public RangingInformation GetMergedRange() { RangingInformation newRange = new RangingInformation(); foreach (RangingInformation rangingInformation in _ranges) { Quantity from = rangingInformation.FromQuantity; Quantity to = rangingInformation.ToQuantity; if (newRange.FromQuantity == null || from < newRange.FromQuantity) { newRange.FromQuantity = from; } if (newRange.ToQuantity == null || to > newRange.ToQuantity) { newRange.ToQuantity = to; } if (rangingInformation.ErrorLimit != null) { newRange.ErrorLimit = newRange.ErrorLimit == null ? rangingInformation.ErrorLimit : ErrorLimit.LeastRestrictiveLimit(rangingInformation.ErrorLimit, newRange.ErrorLimit); } } return(newRange); }