public void FinishRegistration(Type targetType, IStartedRegistration subject)
		{
			IsReferenceType(targetType);
			ValidateIsTargetAssignableFromSource(targetType, subject.SourceType);

			if (_startedRegistrations.Contains(subject))
			{
				_startedRegistrations.Remove(subject);
				_finishedRegistrations.Add(new FinishedRegistration(subject.SourceType, targetType));
				return;
			}

			throw new InvalidOperationException($"Cannot finish the registration of type '{subject.SourceType.FullName}' because it has never been started.");
		}
		private static string GetMessage(IStartedRegistration registration) => $"Incomplete registration found for source type '{registration.SourceType}'";
		public IncompleteRegistrationFoundException(IStartedRegistration registration, Exception innerException) : base(GetMessage(registration), innerException)
		{
		}
		public IncompleteRegistrationFoundException(IStartedRegistration registration) : base(GetMessage(registration))
		{
			_typeRegistration = registration;
		}