docs: public static Vector getLocales(HttpServletRequest req) {
      	init();
          String acceptLanguage = req.getHeader("Accept-Language");
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {
              logger.logp(Level.FINE, CLASS_NAME,"getLocales", "Accept-Language --> " + acceptLanguage);
          }
  
          // Short circuit with an empty enumeration if null header
          if ((acceptLanguage == null)|| (acceptLanguage.trim().length() ==0)) { 
              Vector def = new Vector();
              def.addElement(Locale.getDefault());
              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {
                  logger.logp(Level.FINE, CLASS_NAME,"getLocales", "processed Locales --> ", def);
              }
              return def;
          }
  
          // Check cache
          Vector langList = null;
          langList = (Vector) localesCache.get(acceptLanguage);
  
          if (langList == null) {
              // Create and add to cache
              langList = processAcceptLanguage(acceptLanguage);
            
              if(WCCustomProperties.VALIDATE_LOCALE_VALUES){
                  langList = extractLocales(langList , true);
              }
              else
                  langList = extractLocales(langList , false);
              
              localesCache.put(acceptLanguage, langList);
          }
  
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINE)) {
              logger.logp(Level.FINE, CLASS_NAME,"getLocales", "processed Locales --> " + langList);
          }
  
          return langList;
      }