private File[] listRoots() {
			File[] tmpRoots = File.listRoots(); // possibly sloooow
			// File.listRoots javadoc says null result possible (but actual jdk code doesn't do it)
			return tmpRoots != null ? tmpRoots : new File[0];
		}
If there is no pending update, updates information about the root filesystem locations
present on the local computer, in a partially blocking manner.  The initial list 
of locations is queried directly, and the descriptions and icons for the root 
locations are fetched in a background thread.
<p>
When new information is found during the background querying, the listener callback 
will be executed so that it can cause UI updates.
<p>
If there is a pending background update, no-op.
  
@param callback callback
Ghidra/Framework/Docking/src/main/java/docking/widgets/filechooser/LocalFileChooserModel.java