Program: 3422
Project: 3422
Buggy source:
public int doStartTag() throws JspException {
  JspWriter out=pageContext.getOut();
  HttpServletRequest hrq=(HttpServletRequest)pageContext.getRequest();
  String browseListLine=null;
  String browseWidthLine=null;
  if (browseInfo != null) {
    SortOption so=browseInfo.getSortOption();
    BrowseIndex bix=browseInfo.getBrowseIndex();
    if (bix != null) {
      if (so != null && browseListLine == null) {
        browseListLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str"+ so.getName()+ "String_Node_Str");
        browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str"+ so.getName()+ "String_Node_Str");
      }
      if (so == null)       so=bix.getSortOption();
    }
    if (so != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
    }
    if (bix != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
    }
    if (so != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
    }
    if (bix != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
    }
  }
  if (browseListLine == null) {
    browseListLine=ConfigurationManager.getProperty("String_Node_Str");
    browseWidthLine=ConfigurationManager.getProperty("String_Node_Str");
  }
  if (browseListLine != null) {
    if (!showThumbs && browseListLine.contains("String_Node_Str")) {
      browseListLine=browseListLine == null ? "String_Node_Str" : browseListLine;
      browseWidthLine=browseWidthLine == null ? "String_Node_Str" : browseWidthLine;
      StringTokenizer bllt=new StringTokenizer(browseListLine,"String_Node_Str");
      StringTokenizer bwlt=new StringTokenizer(browseWidthLine,"String_Node_Str");
      StringBuilder newBLLine=new StringBuilder();
      StringBuilder newBWLine=new StringBuilder();
      while (bllt.hasMoreTokens() && bwlt.hasMoreTokens()) {
        String browseListTok=bllt.hasMoreTokens() ? bllt.nextToken() : null;
        String browseWidthTok=bwlt.hasMoreTokens() ? bwlt.nextToken() : null;
        if (browseListTok == null || !browseListTok.trim().equals("String_Node_Str")) {
          if (browseListTok != null) {
            if (newBLLine.length() > 0)             newBLLine.append("String_Node_Str");
            newBLLine.append(browseListTok);
          }
          if (browseWidthTok != null) {
            if (newBWLine.length() > 0)             newBWLine.append("String_Node_Str");
            newBWLine.append(browseWidthTok);
          }
        }
      }
      browseListLine=newBLLine.toString();
      browseWidthLine=newBWLine.toString();
    }
    listFields=browseListLine;
    listWidths=browseWidthLine;
  }
  String dateLine=ConfigurationManager.getProperty("String_Node_Str");
  if (dateLine != null) {
    dateField=dateLine;
  }
  String titleLine=ConfigurationManager.getProperty("String_Node_Str");
  if (titleLine != null) {
    titleField=titleLine;
  }
  String authorLine=ConfigurationManager.getProperty("String_Node_Str");
  if (authorLine != null) {
    authorField=authorLine;
  }
  String[] fieldArr=listFields == null ? new String[0] : listFields.split("String_Node_Str");
  String[] widthArr=listWidths == null ? new String[0] : listWidths.split("String_Node_Str");
  boolean isDate[]=new boolean[fieldArr.length];
  boolean emph[]=new boolean[fieldArr.length];
  boolean isAuthor[]=new boolean[fieldArr.length];
  boolean viewFull[]=new boolean[fieldArr.length];
  String[] browseType=new String[fieldArr.length];
  String[] cOddOrEven=new String[fieldArr.length];
  try {
    CrossLinks cl=new CrossLinks();
    String tablewidth=ConfigurationManager.getProperty("String_Node_Str");
    if (widthArr.length > 0 && widthArr.length == fieldArr.length && !linkToEdit) {
      if (!StringUtils.isEmpty(tablewidth)) {
        out.println("String_Node_Str" + tablewidth + "String_Node_Str");
      }
 else {
        out.println("String_Node_Str");
      }
      out.print("String_Node_Str");
      for (int w=0; w < widthArr.length; w++) {
        out.print("String_Node_Str");
        if (fieldArr[w].equals("String_Node_Str") && widthArr[w].equals("String_Node_Str")) {
          out.print(thumbItemListMaxWidth);
        }
 else {
          out.print(StringUtils.isEmpty(widthArr[w]) ? "String_Node_Str" : widthArr[w]);
        }
        out.print("String_Node_Str");
      }
      out.println("String_Node_Str");
    }
 else     if (!StringUtils.isEmpty(tablewidth)) {
      out.println("String_Node_Str" + tablewidth + "String_Node_Str");
    }
 else {
      out.println("String_Node_Str");
    }
    out.println("String_Node_Str");
    for (int colIdx=0; colIdx < fieldArr.length; colIdx++) {
      String field=fieldArr[colIdx].toLowerCase().trim();
      cOddOrEven[colIdx]=(((colIdx + 1) % 2) == 0 ? "String_Node_Str" : "String_Node_Str");
      if (field.indexOf("String_Node_Str") > 0) {
        field=field.replaceAll("String_Node_Str","String_Node_Str");
        isDate[colIdx]=true;
      }
      fieldArr[colIdx]=field;
      if (field.equals(authorField)) {
        isAuthor[colIdx]=true;
      }
      if (cl.hasLink(field)) {
        browseType[colIdx]=cl.getLinkType(field);
        viewFull[colIdx]=BrowseIndex.getBrowseIndex(browseType[colIdx]).isItemIndex();
      }
      if (field.equals(emphColumn)) {
        emph[colIdx]=true;
      }
      String id="String_Node_Str" + Integer.toString(colIdx + 1);
      String css="String_Node_Str" + cOddOrEven[colIdx] + "String_Node_Str";
      String message="String_Node_Str" + field;
      out.print("String_Node_Str" + id + "String_Node_Str"+ css+ "String_Node_Str"+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ LocaleSupport.getLocalizedMessage(pageContext,message)+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    }
    if (linkToEdit) {
      String id="String_Node_Str" + Integer.toString(cOddOrEven.length + 1);
      String css="String_Node_Str" + cOddOrEven[cOddOrEven.length - 2] + "String_Node_Str";
      out.print("String_Node_Str" + id + "String_Node_Str"+ css+ "String_Node_Str"+ (emph[emph.length - 2] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ (emph[emph.length - 2] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    }
    out.print("String_Node_Str");
    for (int i=0; i < items.length; i++) {
      String rOddOrEven;
      if (i == highlightRow) {
        rOddOrEven="String_Node_Str";
      }
 else {
        rOddOrEven=((i % 2) == 1 ? "String_Node_Str" : "String_Node_Str");
      }
      for (int colIdx=0; colIdx < fieldArr.length; colIdx++) {
        String field=fieldArr[colIdx];
        StringTokenizer eq=new StringTokenizer(field,"String_Node_Str");
        String[] tokens={"String_Node_Str","String_Node_Str","String_Node_Str"};
        int k=0;
        while (eq.hasMoreTokens()) {
          tokens[k]=eq.nextToken().toLowerCase().trim();
          k++;
        }
        String schema=tokens[0];
        String element=tokens[1];
        String qualifier=tokens[2];
        DCValue[] metadataArray;
        if (qualifier.equals("String_Node_Str")) {
          metadataArray=items[i].getMetadata(schema,element,Item.ANY,Item.ANY);
        }
 else         if (qualifier.equals("String_Node_Str")) {
          metadataArray=items[i].getMetadata(schema,element,null,Item.ANY);
        }
 else {
          metadataArray=items[i].getMetadata(schema,element,qualifier,Item.ANY);
        }
        if (metadataArray == null) {
          metadataArray=new DCValue[0];
        }
        String metadata="String_Node_Str";
        if (field.equals("String_Node_Str")) {
          metadata=getThumbMarkup(hrq,items[i]);
        }
 else         if (metadataArray.length > 0) {
          if (isDate[colIdx]) {
            DCDate dd=new DCDate(metadataArray[0].value);
            metadata=UIUtil.displayDate(dd,false,false,hrq);
          }
 else           if (field.equals(titleField) && items[i].isWithdrawn()) {
            metadata=Utils.addEntities(metadataArray[0].value);
          }
 else           if (field.equals(titleField)) {
            metadata="String_Node_Str" + hrq.getContextPath() + "String_Node_Str"+ items[i].getHandle()+ "String_Node_Str"+ Utils.addEntities(metadataArray[0].value)+ "String_Node_Str";
          }
 else {
            boolean truncated=false;
            int loopLimit=metadataArray.length;
            if (isAuthor[colIdx]) {
              int fieldMax=(authorLimit == -1 ? metadataArray.length : authorLimit);
              loopLimit=(fieldMax > metadataArray.length ? metadataArray.length : fieldMax);
              truncated=(fieldMax < metadataArray.length);
              log.debug("String_Node_Str" + field + "String_Node_Str"+ Integer.toString(loopLimit)+ "String_Node_Str"+ Integer.toString(metadataArray.length));
            }
            StringBuffer sb=new StringBuffer();
            for (int j=0; j < loopLimit; j++) {
              String startLink="String_Node_Str";
              String endLink="String_Node_Str";
              if (!StringUtils.isEmpty(browseType[colIdx]) && !disableCrossLinks) {
                String argument="String_Node_Str";
                if (viewFull[colIdx]) {
                  argument="String_Node_Str";
                }
                startLink="String_Node_Str" + hrq.getContextPath() + "String_Node_Str"+ browseType[colIdx]+ "String_Node_Str"+ argument+ "String_Node_Str"+ Utils.addEntities(metadataArray[j].value);
                if (metadataArray[j].language != null) {
                  startLink=startLink + "String_Node_Str" + argument+ "String_Node_Str"+ Utils.addEntities(metadataArray[j].language)+ "String_Node_Str";
                }
 else {
                  startLink=startLink + "String_Node_Str";
                }
                endLink="String_Node_Str";
              }
              sb.append(startLink);
              sb.append(Utils.addEntities(metadataArray[j].value));
              sb.append(endLink);
              if (j < (loopLimit - 1)) {
                sb.append("String_Node_Str");
              }
            }
            if (truncated) {
              String etal=LocaleSupport.getLocalizedMessage(pageContext,"String_Node_Str");
              sb.append("String_Node_Str" + etal);
            }
            metadata="String_Node_Str" + sb.toString() + "String_Node_Str";
          }
        }
        String extras="String_Node_Str";
        if (isDate[colIdx]) {
          extras="String_Node_Str";
        }
        String id="String_Node_Str" + Integer.toString(colIdx + 1);
        out.print("String_Node_Str" + id + "String_Node_Str"+ rOddOrEven+ "String_Node_Str"+ cOddOrEven[colIdx]+ "String_Node_Str"+ extras+ "String_Node_Str"+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ metadata+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      }
      if (linkToEdit) {
        String id="String_Node_Str" + Integer.toString(cOddOrEven.length + 1);
        out.print("String_Node_Str" + id + "String_Node_Str"+ rOddOrEven+ "String_Node_Str"+ cOddOrEven[cOddOrEven.length - 2]+ "String_Node_Str"+ "String_Node_Str"+ hrq.getContextPath()+ "String_Node_Str"+ "String_Node_Str"+ items[i].getHandle()+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
      }
      out.println("String_Node_Str");
    }
    out.println("String_Node_Str");
  }
 catch (  IOException ie) {
    throw new JspException(ie);
  }
catch (  SQLException e) {
    throw new JspException(e);
  }
catch (  BrowseException e) {
    throw new JspException(e);
  }
  return SKIP_BODY;
}

Fixed version (ground truth):
public int doStartTag() throws JspException {
  JspWriter out=pageContext.getOut();
  HttpServletRequest hrq=(HttpServletRequest)pageContext.getRequest();
  String browseListLine=null;
  String browseWidthLine=null;
  if (browseInfo != null) {
    SortOption so=browseInfo.getSortOption();
    BrowseIndex bix=browseInfo.getBrowseIndex();
    if (bix != null) {
      if (so != null && browseListLine == null) {
        browseListLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str"+ so.getName()+ "String_Node_Str");
        browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str"+ so.getName()+ "String_Node_Str");
      }
      if (so == null)       so=bix.getSortOption();
    }
    if (so != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
    }
    if (bix != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
    }
    if (so != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + so.getName() + "String_Node_Str");
    }
    if (bix != null && browseListLine == null) {
      browseListLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
      browseWidthLine=ConfigurationManager.getProperty("String_Node_Str" + bix.getName() + "String_Node_Str");
    }
  }
  if (browseListLine == null) {
    browseListLine=ConfigurationManager.getProperty("String_Node_Str");
    browseWidthLine=ConfigurationManager.getProperty("String_Node_Str");
  }
  if (browseListLine != null) {
    if (!showThumbs && browseListLine.contains("String_Node_Str")) {
      browseListLine=browseListLine == null ? "String_Node_Str" : browseListLine;
      browseWidthLine=browseWidthLine == null ? "String_Node_Str" : browseWidthLine;
      StringTokenizer bllt=new StringTokenizer(browseListLine,"String_Node_Str");
      StringTokenizer bwlt=new StringTokenizer(browseWidthLine,"String_Node_Str");
      StringBuilder newBLLine=new StringBuilder();
      StringBuilder newBWLine=new StringBuilder();
      while (bllt.hasMoreTokens() || bwlt.hasMoreTokens()) {
        String browseListTok=bllt.hasMoreTokens() ? bllt.nextToken() : null;
        String browseWidthTok=bwlt.hasMoreTokens() ? bwlt.nextToken() : null;
        if (browseListTok == null || !browseListTok.trim().equals("String_Node_Str")) {
          if (browseListTok != null) {
            if (newBLLine.length() > 0)             newBLLine.append("String_Node_Str");
            newBLLine.append(browseListTok);
          }
          if (browseWidthTok != null) {
            if (newBWLine.length() > 0)             newBWLine.append("String_Node_Str");
            newBWLine.append(browseWidthTok);
          }
        }
      }
      browseListLine=newBLLine.toString();
      browseWidthLine=newBWLine.toString();
    }
    listFields=browseListLine;
    listWidths=browseWidthLine;
  }
  String dateLine=ConfigurationManager.getProperty("String_Node_Str");
  if (dateLine != null) {
    dateField=dateLine;
  }
  String titleLine=ConfigurationManager.getProperty("String_Node_Str");
  if (titleLine != null) {
    titleField=titleLine;
  }
  String authorLine=ConfigurationManager.getProperty("String_Node_Str");
  if (authorLine != null) {
    authorField=authorLine;
  }
  String[] fieldArr=listFields == null ? new String[0] : listFields.split("String_Node_Str");
  String[] widthArr=listWidths == null ? new String[0] : listWidths.split("String_Node_Str");
  boolean isDate[]=new boolean[fieldArr.length];
  boolean emph[]=new boolean[fieldArr.length];
  boolean isAuthor[]=new boolean[fieldArr.length];
  boolean viewFull[]=new boolean[fieldArr.length];
  String[] browseType=new String[fieldArr.length];
  String[] cOddOrEven=new String[fieldArr.length];
  try {
    CrossLinks cl=new CrossLinks();
    String tablewidth=ConfigurationManager.getProperty("String_Node_Str");
    if (widthArr.length > 0 && widthArr.length == fieldArr.length && !linkToEdit) {
      if (!StringUtils.isEmpty(tablewidth)) {
        out.println("String_Node_Str" + tablewidth + "String_Node_Str");
      }
 else {
        out.println("String_Node_Str");
      }
      out.print("String_Node_Str");
      for (int w=0; w < widthArr.length; w++) {
        out.print("String_Node_Str");
        if (fieldArr[w].equals("String_Node_Str") && widthArr[w].equals("String_Node_Str")) {
          out.print(thumbItemListMaxWidth);
        }
 else {
          out.print(StringUtils.isEmpty(widthArr[w]) ? "String_Node_Str" : widthArr[w]);
        }
        out.print("String_Node_Str");
      }
      out.println("String_Node_Str");
    }
 else     if (!StringUtils.isEmpty(tablewidth)) {
      out.println("String_Node_Str" + tablewidth + "String_Node_Str");
    }
 else {
      out.println("String_Node_Str");
    }
    out.println("String_Node_Str");
    for (int colIdx=0; colIdx < fieldArr.length; colIdx++) {
      String field=fieldArr[colIdx].toLowerCase().trim();
      cOddOrEven[colIdx]=(((colIdx + 1) % 2) == 0 ? "String_Node_Str" : "String_Node_Str");
      if (field.indexOf("String_Node_Str") > 0) {
        field=field.replaceAll("String_Node_Str","String_Node_Str");
        isDate[colIdx]=true;
      }
      fieldArr[colIdx]=field;
      if (field.equals(authorField)) {
        isAuthor[colIdx]=true;
      }
      if (cl.hasLink(field)) {
        browseType[colIdx]=cl.getLinkType(field);
        viewFull[colIdx]=BrowseIndex.getBrowseIndex(browseType[colIdx]).isItemIndex();
      }
      if (field.equals(emphColumn)) {
        emph[colIdx]=true;
      }
      String id="String_Node_Str" + Integer.toString(colIdx + 1);
      String css="String_Node_Str" + cOddOrEven[colIdx] + "String_Node_Str";
      String message="String_Node_Str" + field;
      out.print("String_Node_Str" + id + "String_Node_Str"+ css+ "String_Node_Str"+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ LocaleSupport.getLocalizedMessage(pageContext,message)+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    }
    if (linkToEdit) {
      String id="String_Node_Str" + Integer.toString(cOddOrEven.length + 1);
      String css="String_Node_Str" + cOddOrEven[cOddOrEven.length - 2] + "String_Node_Str";
      out.print("String_Node_Str" + id + "String_Node_Str"+ css+ "String_Node_Str"+ (emph[emph.length - 2] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ (emph[emph.length - 2] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    }
    out.print("String_Node_Str");
    for (int i=0; i < items.length; i++) {
      String rOddOrEven;
      if (i == highlightRow) {
        rOddOrEven="String_Node_Str";
      }
 else {
        rOddOrEven=((i % 2) == 1 ? "String_Node_Str" : "String_Node_Str");
      }
      for (int colIdx=0; colIdx < fieldArr.length; colIdx++) {
        String field=fieldArr[colIdx];
        StringTokenizer eq=new StringTokenizer(field,"String_Node_Str");
        String[] tokens={"String_Node_Str","String_Node_Str","String_Node_Str"};
        int k=0;
        while (eq.hasMoreTokens()) {
          tokens[k]=eq.nextToken().toLowerCase().trim();
          k++;
        }
        String schema=tokens[0];
        String element=tokens[1];
        String qualifier=tokens[2];
        DCValue[] metadataArray;
        if (qualifier.equals("String_Node_Str")) {
          metadataArray=items[i].getMetadata(schema,element,Item.ANY,Item.ANY);
        }
 else         if (qualifier.equals("String_Node_Str")) {
          metadataArray=items[i].getMetadata(schema,element,null,Item.ANY);
        }
 else {
          metadataArray=items[i].getMetadata(schema,element,qualifier,Item.ANY);
        }
        if (metadataArray == null) {
          metadataArray=new DCValue[0];
        }
        String metadata="String_Node_Str";
        if (field.equals("String_Node_Str")) {
          metadata=getThumbMarkup(hrq,items[i]);
        }
 else         if (metadataArray.length > 0) {
          if (isDate[colIdx]) {
            DCDate dd=new DCDate(metadataArray[0].value);
            metadata=UIUtil.displayDate(dd,false,false,hrq);
          }
 else           if (field.equals(titleField) && items[i].isWithdrawn()) {
            metadata=Utils.addEntities(metadataArray[0].value);
          }
 else           if (field.equals(titleField)) {
            metadata="String_Node_Str" + hrq.getContextPath() + "String_Node_Str"+ items[i].getHandle()+ "String_Node_Str"+ Utils.addEntities(metadataArray[0].value)+ "String_Node_Str";
          }
 else {
            boolean truncated=false;
            int loopLimit=metadataArray.length;
            if (isAuthor[colIdx]) {
              int fieldMax=(authorLimit == -1 ? metadataArray.length : authorLimit);
              loopLimit=(fieldMax > metadataArray.length ? metadataArray.length : fieldMax);
              truncated=(fieldMax < metadataArray.length);
              log.debug("String_Node_Str" + field + "String_Node_Str"+ Integer.toString(loopLimit)+ "String_Node_Str"+ Integer.toString(metadataArray.length));
            }
            StringBuffer sb=new StringBuffer();
            for (int j=0; j < loopLimit; j++) {
              String startLink="String_Node_Str";
              String endLink="String_Node_Str";
              if (!StringUtils.isEmpty(browseType[colIdx]) && !disableCrossLinks) {
                String argument="String_Node_Str";
                if (viewFull[colIdx]) {
                  argument="String_Node_Str";
                }
                startLink="String_Node_Str" + hrq.getContextPath() + "String_Node_Str"+ browseType[colIdx]+ "String_Node_Str"+ argument+ "String_Node_Str"+ Utils.addEntities(metadataArray[j].value);
                if (metadataArray[j].language != null) {
                  startLink=startLink + "String_Node_Str" + argument+ "String_Node_Str"+ Utils.addEntities(metadataArray[j].language)+ "String_Node_Str";
                }
 else {
                  startLink=startLink + "String_Node_Str";
                }
                endLink="String_Node_Str";
              }
              sb.append(startLink);
              sb.append(Utils.addEntities(metadataArray[j].value));
              sb.append(endLink);
              if (j < (loopLimit - 1)) {
                sb.append("String_Node_Str");
              }
            }
            if (truncated) {
              String etal=LocaleSupport.getLocalizedMessage(pageContext,"String_Node_Str");
              sb.append("String_Node_Str" + etal);
            }
            metadata="String_Node_Str" + sb.toString() + "String_Node_Str";
          }
        }
        String extras="String_Node_Str";
        if (isDate[colIdx]) {
          extras="String_Node_Str";
        }
        String id="String_Node_Str" + Integer.toString(colIdx + 1);
        out.print("String_Node_Str" + id + "String_Node_Str"+ rOddOrEven+ "String_Node_Str"+ cOddOrEven[colIdx]+ "String_Node_Str"+ extras+ "String_Node_Str"+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ metadata+ (emph[colIdx] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      }
      if (linkToEdit) {
        String id="String_Node_Str" + Integer.toString(cOddOrEven.length + 1);
        out.print("String_Node_Str" + id + "String_Node_Str"+ rOddOrEven+ "String_Node_Str"+ cOddOrEven[cOddOrEven.length - 2]+ "String_Node_Str"+ "String_Node_Str"+ hrq.getContextPath()+ "String_Node_Str"+ "String_Node_Str"+ items[i].getHandle()+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
      }
      out.println("String_Node_Str");
    }
    out.println("String_Node_Str");
  }
 catch (  IOException ie) {
    throw new JspException(ie);
  }
catch (  SQLException e) {
    throw new JspException(e);
  }
catch (  BrowseException e) {
    throw new JspException(e);
  }
  return SKIP_BODY;
}