private Integer findBackward(String text) {

		String searchText = text.toLowerCase();
		int colCount = table.getColumnCount();
		int currentRow = Math.max(0, model.getRow());

		// search previous lines
		for (int row = currentRow - 1; row >= 0; row--) {
			for (int col = colCount - 1; col >= 0; col--) {
				if (matchesSearch(searchText, row, col)) {
					return row;
				}
			}
		}
		// wrap search - search from last row to current row
		for (int row = model.getRowCount() - 1; row >= currentRow; row--) {
			for (int col = colCount - 1; col >= 0; col--) {
				if (matchesSearch(searchText, row, col)) {
					getToolkit().beep(); // notify search wrapped
					return row;
				}
			}
		}
		getToolkit().beep(); // notify search wrapped
		return null;
	}
CompositeEditorModelListener method called to handle lock/unlock or
structure modification state change.
This could also get called by a structure load or unload.

@param type the type of state change: COMPOSITE_MODIFIED, COMPOSITE_UNMODIFIED,
COMPOSITE_LOADED, NO_COMPOSITE_LOADED.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/CompositeEditorPanel.java