@Override
    public synchronized void findNext(String str) {
        boolean found = false;
        int startLine = line;
        int startColumn = column + 1; //We always start one char after the cursor position.

        while (!found && startLine <= lines.size()) {
            String currentLine = getContent(startLine);
            String linePart = currentLine.length() > startColumn ? currentLine.substring(startColumn - 1) : "";
            if (linePart.contains(str)) {
                column = startColumn + linePart.indexOf(str);
                line = startLine;
                found = true;
            } else {
                startLine++;
                startColumn = 1;
            }
        }
    }
@ Override public synchronized void findNext ( String str ) { boolean found = false ; int startLine = line ; int startColumn = column + 1 ; while ( ! found && startLine <= lines . size ( ) ) { String currentLine = getContent ( startLine ) ; String linePart = currentLine . length ( ) > startColumn ? currentLine . substring ( startColumn - 1 ) : "" ; if ( linePart . contains ( str ) ) { column = startColumn + linePart . indexOf ( str ) ; line = startLine ; found = true ; } else { startLine ++ ; startColumn = 1 ; } } }
Finds the next appearance of the String.

@param str