docs: protected String getMessage(String key, String defaultMessage, Locale locale) {
          try {
              return messageSource.getMessage(key, new Object[] {}, defaultMessage, locale);
          } catch (Exception e) {
              // sadly, messageSource.getMessage can throw e.g. when message is ill formatted.
              logger.error("Error resolving message with key {}.", key, e);
              return defaultMessage;
          }
      }