code: @Override
      public boolean containsKey(String key) {
          try {
              this.messageSource.getMessage(key, null, this.locale);
              return true;
          } catch (NoSuchMessageException ex) {
              return false;
          }
      }
docs: This implementation checks whether the target MessageSource can resolve
  a message for the given key, translating {@code NoSuchMessageException}
  accordingly. In contrast to ResourceBundle's default implementation in
  JDK 1.6, this does not rely on the capability to enumerate message keys.