private void setLocations(Map<String, ArrayList<Job>> jobs) {
        Iterator i = jobs.keySet().iterator();
        Geocoder geocoder = new Geocoder();
        while (i.hasNext()) {
            String key = (String) i.next();
            ArrayList<Job> jobList = jobs.get(key);
            for (Job j : jobList) {
                String address = addressParser.parse(j.getUrl());
                GeocodeResponse response = null;
                String status = null;
                if (address != null && !address.equals("")) {
                    response = geocoder.geocode(
                                new GeocoderRequestBuilder()
                                .setAddress(address)
                                .setLanguage("en")
                                .getGeocoderRequest());
                    status = response.getStatus().toString();
                }
                if (response != null && status.equals("OK")) {
                    LatLng latlng = response.getResults().get(0).getGeometry().getLocation();
                    j.setLat(latlng.getLat());
                    j.setLng(latlng.getLng());
                } else {
                    j.setLat(BigDecimal.ZERO);
                    j.setLng(BigDecimal.ZERO);
                }
                //Wait 1.7 seconds to avoid Geocoder service limits
                try {
                    Thread.currentThread().sleep(1700);
                } catch (InterruptedException ex) {
                }
            }

        }
    }