Program: 15847
Project: 15847
Buggy source:
private String tables(){
  DbContents contents=session.getContents();
  boolean isH2=false;
  try {
    contents.readContents(session.getMetaData());
    session.loadBnf();
    Connection conn=session.getConnection();
    DatabaseMetaData meta=session.getMetaData();
    isH2=contents.isH2();
    StringBuilder buff=new StringBuilder();
    buff.append("String_Node_Str" + PageParser.escapeJavaScript((String)session.get("String_Node_Str")) + "String_Node_Str");
    int treeIndex=1;
    DbSchema defaultSchema=contents.getDefaultSchema();
    treeIndex=addTablesAndViews(defaultSchema,true,buff,treeIndex);
    DbSchema[] schemas=contents.getSchemas();
    for (    DbSchema schema : schemas) {
      if (schema == defaultSchema || schema == null) {
        continue;
      }
      buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(schema.name)+ "String_Node_Str");
      treeIndex++;
      treeIndex=addTablesAndViews(schema,false,buff,treeIndex);
    }
    if (isH2) {
      Statement stat=null;
      try {
        stat=conn.createStatement();
        ResultSet rs=stat.executeQuery("String_Node_Str");
        for (int i=0; rs.next(); i++) {
          if (i == 0) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str");
            treeIndex++;
          }
          String name=rs.getString("String_Node_Str");
          String current=rs.getString("String_Node_Str");
          String increment=rs.getString("String_Node_Str");
          buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(name)+ "String_Node_Str");
          treeIndex++;
          buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(current)+ "String_Node_Str");
          treeIndex++;
          if (!"String_Node_Str".equals(increment)) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(increment)+ "String_Node_Str");
            treeIndex++;
          }
        }
        rs.close();
        rs=stat.executeQuery("String_Node_Str");
        for (int i=0; rs.next(); i++) {
          if (i == 0) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str");
            treeIndex++;
          }
          String name=rs.getString("String_Node_Str");
          String admin=rs.getString("String_Node_Str");
          buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(name)+ "String_Node_Str");
          treeIndex++;
          if (admin.equalsIgnoreCase("String_Node_Str")) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str");
            treeIndex++;
          }
        }
        rs.close();
      }
  finally {
        JdbcUtils.closeSilently(stat);
      }
    }
    String version=meta.getDatabaseProductName() + "String_Node_Str" + meta.getDatabaseProductVersion();
    buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(version)+ "String_Node_Str");
    buff.append("String_Node_Str");
    session.put("String_Node_Str",buff.toString());
  }
 catch (  Exception e) {
    session.put("String_Node_Str","String_Node_Str");
    session.put("String_Node_Str",getStackTrace(0,e,isH2));
  }
  return "String_Node_Str";
}

Fixed version (ground truth):
private String tables(){
  DbContents contents=session.getContents();
  boolean isH2=false;
  try {
    String url=(String)session.get("String_Node_Str");
    Connection conn=session.getConnection();
    contents.readContents(url,conn);
    session.loadBnf();
    isH2=contents.isH2();
    StringBuilder buff=new StringBuilder();
    buff.append("String_Node_Str" + PageParser.escapeJavaScript(url) + "String_Node_Str");
    int treeIndex=1;
    DbSchema defaultSchema=contents.getDefaultSchema();
    treeIndex=addTablesAndViews(defaultSchema,true,buff,treeIndex);
    DbSchema[] schemas=contents.getSchemas();
    for (    DbSchema schema : schemas) {
      if (schema == defaultSchema || schema == null) {
        continue;
      }
      buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(schema.name)+ "String_Node_Str");
      treeIndex++;
      treeIndex=addTablesAndViews(schema,false,buff,treeIndex);
    }
    if (isH2) {
      Statement stat=null;
      try {
        stat=conn.createStatement();
        ResultSet rs=stat.executeQuery("String_Node_Str");
        for (int i=0; rs.next(); i++) {
          if (i == 0) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str");
            treeIndex++;
          }
          String name=rs.getString("String_Node_Str");
          String current=rs.getString("String_Node_Str");
          String increment=rs.getString("String_Node_Str");
          buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(name)+ "String_Node_Str");
          treeIndex++;
          buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(current)+ "String_Node_Str");
          treeIndex++;
          if (!"String_Node_Str".equals(increment)) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(increment)+ "String_Node_Str");
            treeIndex++;
          }
        }
        rs.close();
        rs=stat.executeQuery("String_Node_Str");
        for (int i=0; rs.next(); i++) {
          if (i == 0) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str");
            treeIndex++;
          }
          String name=rs.getString("String_Node_Str");
          String admin=rs.getString("String_Node_Str");
          buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(name)+ "String_Node_Str");
          treeIndex++;
          if (admin.equalsIgnoreCase("String_Node_Str")) {
            buff.append("String_Node_Str" + treeIndex + "String_Node_Str");
            treeIndex++;
          }
        }
        rs.close();
      }
  finally {
        JdbcUtils.closeSilently(stat);
      }
    }
    DatabaseMetaData meta=session.getMetaData();
    String version=meta.getDatabaseProductName() + "String_Node_Str" + meta.getDatabaseProductVersion();
    buff.append("String_Node_Str" + treeIndex + "String_Node_Str"+ PageParser.escapeJavaScript(version)+ "String_Node_Str");
    buff.append("String_Node_Str");
    session.put("String_Node_Str",buff.toString());
  }
 catch (  Exception e) {
    session.put("String_Node_Str","String_Node_Str");
    session.put("String_Node_Str",getStackTrace(0,e,isH2));
  }
  return "String_Node_Str";
}