public List<String> check(byte maxMsgsCount) throws IOException {
        WebPage entry = WebPage.loadWebPage(address, "UTF-8");
        String content = replaceLinks( entry.getContent() );
        defineFeedTypeIfNecessary(content);
        Elements items = Jsoup.parse(content).getElementsByTag( getItemTag() );
        int itemsCount = items.size();

        String newestTitle = null;
        List<String> newTitles = new ArrayList<>();

        for (byte i = 0; i < maxMsgsCount && i < itemsCount; ++i) {
            String title = removeCDATA( items.get(i).getElementsByTag("title").text() );
            String link = getLink( items.get(i) );

            if( title.equals(lastKnownTitle) )
                break;

            if ( titleMatched(title) ) {
                String output = title;
                if (displayLinks)
                    output += " | " + link;
                newTitles.add(output);

                if (newestTitle == null)
                    newestTitle = title;
            }
        }

        if (newestTitle != null) {
            lastKnownTitle = newestTitle;
            addToCache(newTitles);
        }

        return newTitles;
    }