private synchronized JSONArray getLocations(String userKey) {
        JSONArray locations = null;
        if (userKey == null || userKey.isEmpty())
            return locations;

        try {
            String url = this.urlManager.getUserInfo(Constants.APP_KEY, userKey);

            JSONObject jo = getJson(Methods.POST, url, null);
            if (jo.getInt("response_code") == 200) {
                locations = jo.getJSONArray("locations");
            }
        } catch (JSONException e) {
            BmLog.error("Error while getting locations: ", e);
        } catch (Throwable e) {
            BmLog.error("Error while getting locations: ", e);
        }
        return locations;
    }