@SuppressWarnings({"unchecked", "rawtypes"}) @Override public Future<T> addListeners( GenericFutureListener<? extends Future<? super T>>... listeners) { return delegate.addListeners(Stream.of(listeners) .map(context::makeContextAware) .toArray(GenericFutureListener[]::new)); }