Are we trying to just return one or more hostname, so are happy with `Iterables.get(tasks, 0)`?

I guess ideally we'd like to return the result of the first task that completes successfully. But we'd need ListenableFutures and various other bits so definitely defer that!