/// <summary>
 /// When overridden in a derived class, returns the <see cref="Exception"/> that is the root cause of one or more subsequent exceptions.
 /// </summary>
 /// <returns>
 /// The first exception thrown in a chain of exceptions. If the <see cref="Exception.InnerException"/>
 /// property of the current exception is a null reference (Nothing in Visual Basic), this property returns the current exception.
 /// </returns>
 public override Exception GetBaseException() => InnerException.GetBaseException();
 public override Exception GetBaseException()
 {
     return(InnerException.GetBaseException());
 }