private void searchDown(boolean doReplace, boolean showWarnings) {
		if (findNext(doReplace, false, page) == StringFinder.STRING_FOUND)
			return;
		page.getHighlighter().removeAllHighlights();
		Object[] entry = embeddedTextComponents.values().toArray();
		int n = entry.length - 1;
		for (int i = 0; i < n; i++) {
			if (entry[i] instanceof JTextComponent) {
				if (findNext(doReplace, false, (JTextComponent) entry[i]) == StringFinder.STRING_FOUND)
					return;
				((JTextComponent) entry[i]).getHighlighter().removeAllHighlights();
			}
			else if (entry[i] instanceof Searchable) {
				if (findNext(doReplace, false, ((Searchable) entry[i]).getTextComponent()) == StringFinder.STRING_FOUND)
					return;
				((Searchable) entry[i]).getTextComponent().getHighlighter().removeAllHighlights();
			}
		}
		if (entry[n] instanceof JTextComponent) {
			findNext(doReplace, showWarnings, (JTextComponent) entry[n]);
		}
		else if (entry[n] instanceof Searchable) {
			JTextComponent tc = ((Searchable) entry[n]).getTextComponent();
			findNext(doReplace, showWarnings, tc);
		}
	}