/** * Overwritten to change result, if necessary. */ @Override protected boolean doSetResult(Collection<Object> result, boolean undone) { try { result = (Collection<Object>)func.handleResult(result); return DelegatingIntermediateFuture.super.doSetResult(result, func.isUndone(undone)); } catch(Exception e) { return doSetException(e, func.isUndone(undone)); } }