code: public void error(final Throwable aThrowable, final String aMessage) {
          if (isErrorEnabled()) {
              final MDCCloseable closeable = setLineNumber();
  
              if (hasI18nKey(aMessage)) {
                  if (aThrowable != null) {
                      myLogger.error(getI18n(aMessage), aThrowable);
                  } else {
                      myLogger.error(getI18n(aMessage));
                  }
              } else {
                  if (aThrowable != null) {
                      myLogger.error(aMessage, aThrowable);
                  } else {
                      myLogger.error(aMessage);
                  }
              }
  
              clearLineNumber(closeable);
          }
      }
docs: A convenience method that uses an argument pattern with Throwable first.
  
  @param aThrowable A throwable exception
  @param aMessage A message with information about the exception