[BUG] Java Admin Client uses non-Swing concurrency to interact with GUI
The Java Admin Client is a Swing application, and as such should follow the Swing guidelines when using multiple threads to update UI components. See - https://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html
Therefore we should modify the existing background tasks that use Runnable's and calls to InteractiveClient#newClientThread(String, Runnable) with instances of SwingWorker.
This also has the benefit of giving us the facility to incrementally update the UI as chunks of results become available.
For an example of how to do this, see - https://github.com/eXist-db/exist/pull/4356/commits/e3c834e0c965a7f97af106e00529ef18089984cd
@adamretter I could do this after my #4220 PR as I changed a lot there in order to increase the test coverage....