docs: public List getPatternList() {
          List mappings = jspConfigurationManager.getJspExtensionList();
  
          if (mappings.isEmpty())
              return mappings;
  
          if (WCCustomProperties.ENABLE_JSP_MAPPING_OVERRIDE) {
              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINER)) {
                  logger.logp(Level.FINER, CLASS_NAME, "getPatternList", " enters enableJSPMappingOverride is TRUE");
              }
  
              //WebAppConfiguration config = ((com.ibm.ws.webcontainer.webapp.WebAppConfigurationImpl)extensionContext.getWebAppConfig());
              WebAppConfig config = this.webapp.getWebAppConfig();
              Map<String, List<String>> srvMappings = config.getServletMappings();
              if (srvMappings.isEmpty()) {
                  return mappings;
              }
  
              Iterator iSrvNames = config.getServletNames();
              List<String> newMappings = new ArrayList<String>();
              String path = null, servletName;
              HashSet<String> urlPatternSet = new HashSet<String>();
  
              //for every servlet name in the mapping ...
              while (iSrvNames.hasNext()) {
                  servletName = (String) iSrvNames.next();
                  if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINER)) {
                      logger.logp(Level.FINER, CLASS_NAME, "getPatternList", " servletName [" + servletName + "]");
                  }
  
                  List<String> mapList = srvMappings.get(servletName);
                  if (mapList != null) {
                      // ...get all its UrlPattern and put them into a set...
                      Iterator<String> m = mapList.iterator();
                      while (m.hasNext()) {
                          path = m.next();
                          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINER)) {
                              logger.logp(Level.FINER, CLASS_NAME, "getPatternList", " urlPattern [" + path + "]");
                          }
                          urlPatternSet.add(path);
                      }
                  }
              }
              // ... find an extension in the original list that matches the UrlPattern set
              for (Iterator it = mappings.iterator(); it.hasNext();) {
                  String mapping = (String) it.next();
                  int dot = -1;
                  dot = mapping.lastIndexOf(".");
                  if (dot != -1) {
                      String extension = "*" + mapping.substring(dot);
                      if (!urlPatternSet.contains(extension)) {
                          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINER)) {
                              logger.logp(Level.FINER, CLASS_NAME, "getPatternList", " no match for extension [" + extension + "], add [" + mapping + "]");
                          }
                          newMappings.add(mapping);
                      } else {
                          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINER)) {
                              logger.logp(Level.FINER, CLASS_NAME, "getPatternList", " found a match for extension [" + extension + "], ignore [" + mapping + "]");
                          }
                      }
                  } else { // no extension...just add to the mapping
                      if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINER)) {
                          logger.logp(Level.FINER, CLASS_NAME, "getPatternList", " no extension, add [" + mapping + "]");
                      }
                      newMappings.add(mapping);
                  }
              }
  
              mappings = newMappings;
              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINER)) {
                  logger.logp(Level.FINER, CLASS_NAME, "getPatternList", " exits enableJSPMappingOverride");
              }
          }
  
          return mappings;
      }