class LocationHelper {

    public String getOpenMrsLocationName(String locationId) {
        if (StringUtils.isBlank(locationId)) {
            Timber.e("Location id is null");
            return null;
        }

        String response = locationId;
        try {
            LinkedHashMap<String, TreeNode<String, Location>> map = map();
            if (!Utils.isEmptyMap(map)) {
                for (Map.Entry<String, TreeNode<String, Location>> entry : map.entrySet()) {
                    String curResult = getOpenMrsLocationName(locationId, entry.getValue());
                    if (StringUtils.isNotBlank(curResult)) {
                        response = curResult;
                        break;
                    }
                }
            } else {
                Timber.e("locationData doesn't have locationHierarchy");
            }
        } catch (Exception e) {
            Timber.e(e);
        }

        return response;
    }

    private  LocationHelper(List<String> allowedLevels, String defaultLocationLevel);
    private  LocationHelper(List<String> allowedLevels, String defaultLocationLevel, List<String> advancedDataCaptureStrategies);

}