public RealmStatus getRealmStatus(String... realms) throws CharacterNotFoundException {

        URI uri = null;
        try {
            uri = new URI("https", String.format(URL_BASE, region), REALM_API_URL, null);
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        if(uri == null) {
            return null;
        }

        String realQueryString = "";
        if(realms.length > 0) {

            List<String> tempRealms = new ArrayList<String>();
            for (String realm : realms) {
                tempRealms.add(realm.replace(' ', '-'));
            }

            try {
                realQueryString = String.format("?realms=%s", URLEncoder.encode(join(tempRealms, ","), "UTF-8"));
            } catch (UnsupportedEncodingException ignored) {

            }
        }
        String url = uri.toString() + realQueryString;

        String json = BlizzardApiConnection.getStringJSONFromRequest(url);
        //System.out.println("JSON: " + json);
        Gson gson = new Gson();

        BlizzardErrorResponse errorResponse = gson.fromJson(json, BlizzardErrorResponse.class);

        if (!errorResponse.getStatus().equals("")) {
            // Would check for specific error here
            if("Character not found.".equals(errorResponse.getReason())) {
                throw new CharacterNotFoundException();
            }

        }

        return gson.fromJson(json, RealmStatus.class);
    }