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