code: @SuppressWarnings("unchecked")
      public <E extends Throwable> 
      ExceptionHandler<? super E> addExceptionHandler(
              Class<E> type, ExceptionHandler<? super E> handler) {
          exceptionHandlerCache.clear();
          return (ExceptionHandler<? super E>) exceptionHandlers.put(type, handler);
      }
docs: Registers a {@link MessageHandler} that receives the messages of
  the specified <code>type</code>.
  
  @return the old handler if there is already a registered handler for
  the specified <tt>type</tt>.  <tt>null</tt> otherwise.