private static String getValidWebpage(String url) throws TvDbException {
        // Count the number of times we download the web page
        int retryCount = 0;
        // Is the web page valid
        boolean valid = false;
        DigestedResponse webPage;

        while (!valid && (retryCount < RETRY_COUNT)) {
            retryCount++;
            webPage = requestWebPage(url);
            final String content = webPage.getContent();
            if (StringUtils.isNotBlank(content)) {
                // See if the ID is null
                if (!content.contains("<id>") || content.contains("<id></id>")) {
                    // Wait an increasing amount of time the more retries that happen
                    waiting(retryCount * RETRY_TIME);
                    continue;
                }

                valid = true;
            }

            // Couldn't get a valid webPage so, quit.
            if (!valid) {
                throw new TvDbException(ApiExceptionType.UNKNOWN_CAUSE, webPage.getContent(), webPage.getStatusCode(), url);
            }

            return content;
        }

        return null;
    }