boolean (SearchTaskOptions normalCloseSearchOptions) { if (lastExecutedCloseSearchTask == null || !lastExecutedCloseSearchTask.isFinished()) { return false; } SearchTaskOptions oldOptions = lastExecutedCloseSearchTask.getOptions(); if (oldOptions.loopedPhase) { return false; } if (!normalCloseSearchOptions.stringToFind.equals(oldOptions.stringToFind) || normalCloseSearchOptions.wholeWords != oldOptions.wholeWords || normalCloseSearchOptions.caseSensitive != oldOptions.caseSensitive || normalCloseSearchOptions.regularExpression != oldOptions.regularExpression || normalCloseSearchOptions.searchForwardDirection != oldOptions.searchForwardDirection || normalCloseSearchOptions.leftBoundPageNumber != oldOptions.leftBoundPageNumber || normalCloseSearchOptions.leftBoundCaretPageOffset != oldOptions.leftBoundCaretPageOffset || normalCloseSearchOptions.rightBoundPageNumber != oldOptions.rightBoundPageNumber || normalCloseSearchOptions.rightBoundCaretPageOffset != oldOptions.rightBoundCaretPageOffset) { return false; } SearchTaskOptions loopedOptions; try { loopedOptions = normalCloseSearchOptions.clone(); } catch (CloneNotSupportedException e) { LOG.warn(e); Messages.showWarningDialog(EditorBundle.message("large.file.editor.message.error.while.searching"), EditorBundle.message("large.file.editor.title.search.error")); return false; } loopedOptions.loopedPhase = true; if (loopedOptions.searchForwardDirection) { loopedOptions.setSearchBounds( 0, SearchTaskOptions.NO_LIMIT, normalCloseSearchOptions.leftBoundPageNumber, normalCloseSearchOptions.leftBoundCaretPageOffset); } else { loopedOptions.setSearchBounds( normalCloseSearchOptions.rightBoundPageNumber, normalCloseSearchOptions.rightBoundCaretPageOffset, SearchTaskOptions.NO_LIMIT, SearchTaskOptions.NO_LIMIT); } launchCloseSearch(loopedOptions); return true; }