private Locale(boolean unused,String lowerCaseLanguageCode,String upperCaseCountryCode){
  this.languageCode=lowerCaseLanguageCode;
  this.countryCode=upperCaseCountryCode;
  this.variantCode="";
}

private Locale ( boolean unused , String lowerCaseLanguageCode , String upperCaseCountryCode ) { this . languageCode = lowerCaseLanguageCode ; this . countryCode = upperCaseCountryCode ; this . variantCode = "" ; }
there ' s a circular dependency between tolowercase / touppercase and locale . us . work around this by avoiding these methods when constructing the built - in locales .
