code: private synchronized void createExpressionStringMap() {
          if (sCachedExpressionStrings != null) {
              return;
          }
  
          final int maxSize;
          if ((pageContext != null) && (pageContext.getServletContext() != null)) {
              String value = pageContext.getServletContext().getInitParameter(EXPR_CACHE_PARAM);
              if (value != null) {
                  maxSize = Integer.valueOf(value);
              } else {
                  maxSize = MAX_SIZE;
              }
          } else {
              maxSize = MAX_SIZE;
          }
  
          // fall through if it couldn't find the parameter
          sCachedExpressionStrings = Collections.synchronizedMap(new LinkedHashMap() {
              @Override
              protected boolean removeEldestEntry(Map.Entry eldest) {
                  return size() > maxSize;
              }
          });
      }
docs: Creates LRU map of expression strings. If context parameter
  specifying cache size is present use that as the maximum size
  of the LRU map otherwise use default.