private boolean hasInvalidCheckout(DomainFile df, RepositoryAdapter newRepository)
			throws IOException {
		try {
			LocalFolderItem item = fileSystem.getItem(df.getParent().getPathname(), df.getName());
			if (item == null) {
				return false;
			}

			// TODO: this is not bulletproof since we have limited data to validate checkout.
			long checkoutId = item.getCheckoutId();
			int checkoutVersion = item.getCheckoutVersion();

			ItemCheckoutStatus otherCheckoutStatus =
				newRepository.getCheckout(df.getParent().getPathname(), df.getName(), checkoutId);

			if (!newRepository.getUser().getName().equals(otherCheckoutStatus.getUser())) {
				return true;
			}
			if (checkoutVersion != otherCheckoutStatus.getCheckoutVersion()) {
				return true;
			}
		}
		catch (FileNotFoundException e) {
			return true;
		}
		catch (NotConnectedException e) {
			throw e;
		}
		catch (IOException e) {
			// skip file
		}
		return false;
	}
Finds all changed domain files and appends them to the specified list.
@param list the list to receive the changed domain files
Ghidra/Framework/Project/src/main/java/ghidra/framework/data/DefaultProjectData.java