private void queueNextFiles() throws UncheckedIOException {
		while (fileDeque.isEmpty() && (!dirDeque.isEmpty())) {
			try {
				List<GFile> listing = dirDeque.pop().getListing();
				listing.stream()
						.filter(GFile::isDirectory)
						.sorted(Comparator.comparing(GFile::getName).reversed())
						.forEach(dirDeque::push);
				listing.stream()
						.filter(Predicate.not(GFile::isDirectory))
						.filter(filter)
						.sorted(Comparator.comparing(GFile::getName).reversed())
						.forEach(fileDeque::push);
			}
			catch (IOException e) {
				throw new UncheckedIOException(e);
			}
		}
	}
{@inheritDoc}

@throws NoSuchElementException if the iteration has no more elements
@throws UncheckedIOException if an IO-related error occurred on 
  {@link GFileSystem#getListing(GFile)}
Ghidra/Features/Base/src/main/java/ghidra/formats/gfilesystem/GFileSystemIterator.java