/// <summary>
        /// Construct error handler wrapping a <seealso cref="DistinctErrorLog"/> and <seealso cref="TextWriter"/> for error overflow.
        /// </summary>
        /// <param name="log">           to wrap. </param>
        /// <param name="errorOverflow"> to be used if the log fills. </param>
        public LoggingErrorHandler(DistinctErrorLog log, TextWriter errorOverflow)
        {
            Objects.RequireNonNull(log, "log");
            Objects.RequireNonNull(log, "errorOverflow");

            _log           = log;
            _errorOverflow = errorOverflow;
        }
 /// <summary>
 /// Construct error handler wrapping a <seealso cref="DistinctErrorLog"/> with a default of <seealso cref="Console.Error"/> for the
 /// <seealso cref="ErrorOverflow"/>.
 /// </summary>
 /// <param name="log"> to wrap. </param>
 public LoggingErrorHandler(DistinctErrorLog log) : this(log, Console.Error)
 {
 }