and I assume that you have tested (manually) to verify that system.awaitTermination doesn't return before all this is completed (with extra sleeps)