Returns true if the work has completed, false while it's still in progress. This does not block and if true, you can use the results. But you can't destroy or reuse the task withoutIsDone()being true orEnsureCompletion()