@NonNull
    public String processShownotes() {
        String shownotes = rawShownotes;

        if (TextUtils.isEmpty(shownotes)) {
            Log.d(TAG, "shownotesProvider contained no shownotes. Returning 'no shownotes' message");
            shownotes = "<html><head></head><body><p id='apNoShownotes'>" + noShownotesLabel + "</p></body></html>";
        }

        // replace ASCII line breaks with HTML ones if shownotes don't contain HTML line breaks already
        if (!LINE_BREAK_REGEX.matcher(shownotes).find() && !shownotes.contains("<p>")) {
            shownotes = shownotes.replace("\n", "<br />");
        }

        Document document = Jsoup.parse(shownotes);
        cleanCss(document);
        document.head().appendElement("style").attr("type", "text/css").text(webviewStyle);
        addTimecodes(document);
        return document.toString();
    }
@Test
    public void testProcessShownotesAddTimecodeBrackets() {
        final String timeStr = "10:11";
        final long time = 3600 * 1000 * 10 + 60 * 1000 * 11;

        String shownotes = "<p> Some test text with a timecode [" + timeStr + "] here.</p>";
        ShownotesCleaner t = new ShownotesCleaner(context, shownotes, Integer.MAX_VALUE);
        String res = t.processShownotes();
        checkLinkCorrect(res, new long[]{time}, new String[]{timeStr});
    }