How to log Future's underlying Callable
<p>Given this code,</p>

<pre><code>Collection&lt;?&gt; callables = ...
ExecutorService executorService = ...
List&lt;Future&lt;?&gt;&gt; futures = executorService.invokeAll(callables, TIMEOUT, TimeUnit.SECONDS);
</code></pre>

<p>I'd like to know which of the <code>callables</code> were cancelled (did not finish in time). I know I can query each <code>Future</code> with <code>.isCancelled()</code> but that gives me no information as to which exact <code>Callable</code> was cancelled.</p>

<p>One solution would be for <code>Future</code> to implement a <code>toString()</code> method that delegates to the underlying <code>toString()</code> of <code>Callable</code>. Unfortunately, this is not done.</p>
