code: public DateTimeFormatter withLocale(Locale locale) {
          if (this.locale.equals(locale)) {
              return this;
          }
          return new DateTimeFormatter(printerParser, locale, decimalStyle, resolverStyle, resolverFields, chrono, zone);
      }
docs: Returns a copy of this formatter with a new locale.
  <p>
  This is used to lookup any part of the formatter needing specific
  localization, such as the text or localized pattern.
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param locale  the new locale, not null
  @return a formatter based on this formatter with the requested locale, not null