public static ListenerFault ExceptionToFault(Exception exception)
        {
            ListenerFault fault = new ListenerFault();

            fault.Message = exception.Message;
            if (exception.InnerException != null)
            {
                fault.InnerFault = ExceptionToFault(exception.InnerException);
            }

            return(fault);
        }
 public static Exception FaultToException(ListenerFault fault)
 {
     return(new Exception(fault.Message, fault.InnerFault == null ? null : FaultToException(fault.InnerFault)));
 }