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

		findNext(doReplace, showWarnings, page);
	}