private static List <Address> HandleGoogleResults(GoogleMapsResponse googleResponse)
 {
     if (googleResponse?.Status == "OK")
     {
         GeometryFactory geometryFactory = GetGeometryFactory();
         var             googleResults   = googleResponse.Results.Where(googleResult => googleResult.Types.Any(type => type == "street_address")).ToList();
         if (googleResults.Any())
         {
             List <Address> addresses = new List <Address>();
             foreach (var googleResult in googleResults)
             {
                 addresses.Add(ConvertGoogleResultToAddress(googleResult, geometryFactory));
             }
             return(addresses);
         }
         else
         {
             throw new BadRequestHttpException("Die angegebene Adresse ist ungültig.");
         }
     }
     else
     {
         throw new InternalServerErrorHttpException("Ups! Es ist ein Serverfehler aufgetreten. Tut uns leid! Bitte melde uns diesen Fehler und versuche es später erneut.");
     }
 }
 private static void HandleGoogleResult(GoogleMapsResponse googleResponse, Action <GoogleMapsResponse.GoogleMapsResult> callback)
 {
     if (googleResponse?.Status == "OK")
     {
         var googleResult = googleResponse.Results.FirstOrDefault();
         if (googleResult != null && googleResult.Types.Any(type => type == "street_address"))
         {
             callback(googleResult);
         }
         else
         {
             throw new BadRequestHttpException("Die angegebene Adresse ist ungültig.");
         }
     }
     else
     {
         throw new InternalServerErrorHttpException("Ups! Es ist ein Serverfehler aufgetreten. Tut uns leid! Bitte melde uns diesen Fehler und versuche es später erneut.");
     }
 }