void ChangeToObservedBuilderSet() { if (_internalSet.Count > 1) { _internalSet = new ObservedMultipleObjectBuilderSet((MultipleObjectBuilderSet)_internalSet); } else { _internalSet = new ObservedSingleObjectBuilderSet((SingleObjectBuilderSet)_internalSet); } }
public void Add(IObjectRegistration registration) { if (_internalSet == null) { _internalSet = new SingleObjectBuilderSet(); } else if (_internalSet.Count == 1) { _internalSet = _internalSet.IsObserved ? new ObservedMultipleObjectBuilderSet((ObservedSingleObjectBuilderSet)_internalSet) : new MultipleObjectBuilderSet((SingleObjectBuilderSet)_internalSet); } _internalSet.Add(registration); }