Program: 157095
Project: 157095
Buggy source:
public void parseObjModel(URL fileURL){
  BufferedReader reader=null;
  InputStream inputStream=null;
  parserFactory=new ObjLineParserFactory(this);
  try {
    inputStream=fileURL.openStream();
    reader=new BufferedReader(new InputStreamReader(inputStream));
    String currentLine=null;
    while ((currentLine=reader.readLine()) != null) {
      currentLine=currentLine.replaceAll("String_Node_Str","String_Node_Str").trim();
      if (currentLine.startsWith("String_Node_Str") || currentLine.length() == 0) {
        continue;
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        LogHelper.log(Level.INFO,"String_Node_Str");
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        LogHelper.log(Level.INFO,"String_Node_Str");
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        LogHelper.log(Level.INFO,"String_Node_Str");
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        LogHelper.log(Level.INFO,"String_Node_Str");
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        LogHelper.log(Level.INFO,"String_Node_Str");
      }
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
 finally {
    try {
      reader.close();
      inputStream.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
  }
}

Fixed version (ground truth):
public void parseObjModel(URL fileURL){
  BufferedReader reader=null;
  InputStream inputStream=null;
  parserFactory=new ObjLineParserFactory(this);
  try {
    inputStream=fileURL.openStream();
    reader=new BufferedReader(new InputStreamReader(inputStream));
    String currentLine=null;
    while ((currentLine=reader.readLine()) != null) {
      currentLine=currentLine.replaceAll("String_Node_Str","String_Node_Str").trim();
      if (currentLine.startsWith("String_Node_Str") || currentLine.length() == 0) {
        continue;
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        Vertex vertex=parseVertex(currentLine);
        if (vertex != null) {
          vertices.add(vertex);
        }
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        Vertex vertex=parseVertexNormal(currentLine);
        if (vertex != null) {
          vertexNormals.add(vertex);
        }
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        TextureCoordinate textureCoordinate=parseTextureCoordinate(currentLine);
        if (textureCoordinate != null) {
          textureCoordinates.add(textureCoordinate);
        }
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
        Face face=parseFace(currentLine);
        if (face != null) {
          if (currentGroup == null) {
            currentGroup=new Group("String_Node_Str");
          }
          currentGroup.faces.add(face);
        }
      }
 else       if (currentLine.startsWith("String_Node_Str")) {
      }
    }
    groups.add(currentGroup);
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
 finally {
    try {
      reader.close();
      inputStream.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
  }
  int faceSum=0;
  for (  Group group : groups) {
    faceSum+=group.faces.size();
  }
  LogHelper.log(Level.INFO,"String_Node_Str" + fileName);
  LogHelper.log(Level.INFO,"String_Node_Str" + vertices.size());
  LogHelper.log(Level.INFO,"String_Node_Str" + vertexNormals.size());
  LogHelper.log(Level.INFO,"String_Node_Str" + textureCoordinates.size());
  LogHelper.log(Level.INFO,"String_Node_Str" + faceSum);
  LogHelper.log(Level.INFO,"String_Node_Str" + groups.size());
}