public static PageTagExport parsePageTagExport(String expression) throws ParseException {
   synchronized (pageTagExportCache) {
     PageTagExport pageTagExport = (PageTagExport) pageTagExportCache.get(expression);
     if (pageTagExport == null) {
       StringReader reader = new StringReader(expression);
       TagExportParser parser = new TagExportParser(reader);
       pageTagExport = parser.parsePageTagExport();
       pageTagExportCache.put(expression, pageTagExport);
     }
     return pageTagExport;
   }
 }
 public static IndexTagExport parseIndexTagExport(String expression) throws ParseException {
   synchronized (indexTagExportCache) {
     IndexTagExport indexTagExport = (IndexTagExport) indexTagExportCache.get(expression);
     if (indexTagExport == null) {
       StringReader reader = new StringReader(expression);
       TagExportParser parser = new TagExportParser(reader);
       indexTagExport = parser.parseIndexTagExport();
       indexTagExportCache.put(expression, indexTagExport);
     }
     return indexTagExport;
   }
 }