@Override
 public void onFailure(String source, Exception e) {
   try {
     listener.onFailure(source, e);
   } catch (Exception inner) {
     inner.addSuppressed(e);
     logger.error(
         (Supplier<?>)
             () ->
                 new ParameterizedMessage(
                     "exception thrown by listener notifying of failure from [{}]", source),
         inner);
   }
 }