private void CheckForOverlappingRegistrations(Type serviceType) { var overlappingGroups = this.GetOverlappingGroupsFor(serviceType); if (overlappingGroups.Any()) { if (!serviceType.ContainsGenericParameters && overlappingGroups.Any(group => group.ServiceType == serviceType)) { throw new InvalidOperationException( StringResources.CollectionTypeAlreadyRegistered(serviceType)); } throw new InvalidOperationException( StringResources.MixingCallsToRegisterCollectionIsNotSupported(serviceType)); } }