@Override
  public void visit(org.apache.jasper.compiler.NodeTemplateTextRemoteInterface n)
      throws JasperException, RemoteException {
    try {
      org.apache.jasper.compiler.MarkRemoteInterface mark = n.getStart();
      if (mark == null) {
        return;
      }

      // Add the file information
      String fileName = mark.getFile();
      smap.addFile(gerenciadornuvem1.SmapUtilunqualify(fileName), fileName);

      // Add a LineInfo that corresponds to the beginning of this node
      int iInputStartLine = mark.getLineNumber();
      int iOutputStartLine = n.getBeginJavaLine();
      int iOutputLineIncrement = breakAtLF ? 1 : 0;
      smap.addLineData(iInputStartLine, fileName, 1, iOutputStartLine, iOutputLineIncrement);

      // Output additional mappings in the text
      java.util.ArrayList<Integer> extraSmap = n.getExtraSmap();

      if (extraSmap != null) {
        for (int i = 0; i < extraSmap.size(); i++) {
          iOutputStartLine += iOutputLineIncrement;
          smap.addLineData(
              iInputStartLine + extraSmap.get(i).intValue(),
              fileName,
              1,
              iOutputStartLine,
              iOutputLineIncrement);
        }
      }
    } catch (Exception excp) {
      excp.printStackTrace();
    }
  }
  public void doSmap(
      org.apache.jasper.compiler.NodeRemoteInterface n,
      int inLineCount,
      int outIncrement,
      int skippedLines)
      throws RemoteException {
    try {
      org.apache.jasper.compiler.MarkRemoteInterface mark = n.getStart();
      if (mark == null) {
        return;
      }

      String unqualifiedName = gerenciadornuvem1.SmapUtilunqualify(mark.getFile());
      smap.addFile(unqualifiedName, mark.getFile());
      smap.addLineData(
          mark.getLineNumber() + skippedLines,
          mark.getFile(),
          inLineCount - skippedLines,
          n.getBeginJavaLine() + skippedLines,
          outIncrement);
    } catch (Exception excp) {
      excp.printStackTrace();
    }
  }