code: @Override
      public List<Locale> getLocales(String acceptLangHdr) {
          // Short circuit with an empty enumeration if null header
          if (null == acceptLangHdr) {
              List<Locale> def = new ArrayList<Locale>(1);
              def.add(Locale.getDefault());
              return def;
          }
  
          // Check cache
          List<Locale> langList = this.localesCache.get(acceptLangHdr);
          if (null == langList) {
              // Create and add to cache
              List<List<String>> rc = processAcceptLanguage(acceptLangHdr);
              if (null != rc) {
                  langList = extractLocales(rc);
                  this.localesCache.put(acceptLangHdr, langList);
              } else {
                  // this can happen with only q=0 values in the header
                  List<Locale> def = new ArrayList<Locale>(1);
                  def.add(Locale.getDefault());
                  return def;
              }
          }
  
          return langList;
      }
docs: /*
  @see com.ibm.websphere.http.EncodingUtils#getLocales(java.lang.String)