code: @Override
      public void debug( Throwable t,
                         String message,
                         Object... params ) {
          if (!isDebugEnabled()) return;
          if (t == null) {
              debug(message, params);
              return;
          }
          if (message == null) {
              logger.debug(null, t);
              return;
          }
          logger.debug(StringUtil.createString(message, params), t);
      }
docs: Log an exception (throwable) at the DEBUG level with an accompanying message. If the exception is null, then this method
  calls {@link #debug(String, Object...)}.
  
  @param t the exception (throwable) to log
  @param message the message accompanying the exception
  @param params the parameter values that are to replace the variables in the format string