public synchronized void addRemove(AddRemoveListItem<T> item, int maxAddRemoveCount) {
		if (currentState != NOT_RUNNING) {
			throw new IllegalStateException("Cannot add or remove once a job starts");
		}

		if (reloadData) {
			return; // no need to process addRemove, since a total reload is scheduled.
		}

		if (addRemoveList.size() > maxAddRemoveCount) {
			reload();
			return;
		}
		addRemoveList.add(item);
	}
Adds the Add/Remove item to the list of items to be processed in the add/remove phase. This
call is not allowed on running jobs, only pending jobs.

@param item the add/remove item to add to the list of items to be processed in the
       add/remove phase of this job.
@param maxAddRemoveCount the maximum number of add/remove jobs to queue before performing a
       full reload
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/threaded/TableUpdateJob.java