@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}
		FilterState other = (FilterState) obj;
		if (filter == null) {
			if (other.filter != null) {
				return false;
			}
		}
		else if (!filter.equals(other.filter)) {
			return false;
		}
		if (properties == null) {
			if (other.properties != null) {
				return false;
			}
		}
		else if (!properties.equals(other.properties)) {
			return false;
		}
		return true;
	}
A class that allows us to capture the current state of any {@link Filter}.  This state allows
us to tell if the filter has been modified.
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/filters/FilterState.java