A sub-interface of a Future, that allows for listeners to be attached so that observers can be notified of when the future completes.
See {@link FutureListener} for more details.
{@link #attachListener(FutureListener)} returns the same future instance, which is useful for 'building' a future.E.g.,
Future f = cache.clearAsync().attachListener(new MyCustomListener());
@author Manik Surtani
@since 4.0