/** Constructor... */
 public FastArchivalUrlReplayParseEventHandler() {
   okHeadTagMap = new HashMap<String, Object>(okHeadTags.length);
   for (String tag : okHeadTags) {
     okHeadTagMap.put(tag, null);
   }
   anchorUrlTrans.setJsTransformer(jsBlockTrans);
 }
  private void handleJSIncludeNode(ReplayParseContext context, TagNode tagNode) throws IOException {
    String file = tagNode.getAttribute("SRC");
    if (file != null) {
      // TODO: This is hacky.. fix it
      // This is used to check if the file should be skipped...
      // from a custom rule..
      String result = jsBlockTrans.transform(context, file);
      // The rewriting is done by the js_ rewriter
      if ((result != null) && !result.isEmpty()) {
        tagNode.setAttribute("SRC", jsUrlTrans.transform(context, file));
      } else {
        file = "";
        tagNode.setAttribute("SRC", jsUrlTrans.transform(context, file));
      }
    }

    emit(context, null, tagNode, null);
  }
 /** @param jsBlockTrans the jsBlockTrans to set */
 public void setJsBlockTrans(StringTransformer jsBlockTrans) {
   this.jsBlockTrans = jsBlockTrans;
   anchorUrlTrans.setJsTransformer(jsBlockTrans);
 }