private Response ChannelFindByMultilineAddress(PlaceByMultilineAddress request, int retry = 0)
 {
     try
     {
         return(Channel.FindByMultilineAddress(request.Line1,
                                               request.Line2, request.Line3, request.Locale,
                                               request.Start, request.Count, request.Offset,
                                               request.GetFlagsAsString(), request.GetGFlagsAsString(),
                                               request.AppId));
     }
     catch (ProtocolException ex)
     {
         if (retry < RetryLimit && ex.InnerException is WebException)
         {
             return(ChannelFindByMultilineAddress(request, ++retry));
         }
         throw;
     }
     catch (CommunicationException ex)
     {
         if (retry < RetryLimit && ex.Message == "Server Error")
         {
             return(ChannelFindByMultilineAddress(request, ++retry));
         }
         throw;
     }
 }