/** {@inheritDoc} */
 @Override
 protected void shutdown(final SettableCallbackFuture<Void> future, final Callable<Void> task) {
   try {
     codec.close();
     task.call();
     future.success(null);
   } catch (final Throwable t) {
     future.fail(t);
   }
 }