nus-yam/ex-repair huggingface dataset:
Program: 89039
Project: 89039
Buggy source:
/** 
 * This method returns the a random color from the options on the ColorWheel. <br> <b>Example:</b>   {@code  Color color = ColorWheel.getNextColor();}
 * @return A random color from the ColorWheel
 */
public static Color getRandomColorFromWheel(){
  return wheel.getRandomFrom();
}

Fixed version (ground truth):
/** 
 * This method returns the a random color from the options on the ColorWheel. <br> <b>Example:</b>   {@code  Color color = ColorWheel.getNextColor();}
 * @return A random color from the ColorWheel
 */
public static Color getRandomColorFromWheel(){
  assertNonEmpty();
  return wheel.getRandomFrom();
}
Program: 89040
Project: 89040
Buggy source:
/** 
 * This method returns the next color of the ColorWheel. <br> <b>Example:</b>   {@code  Color color = ColorWheel.getNextColor();}
 * @return the next color of the ColorWheel
 */
public static Color getNextColor(){
  return wheel.next();
}

Fixed version (ground truth):
/** 
 * This method returns the next color of the ColorWheel. <br> <b>Example:</b>   {@code  Color color = ColorWheel.getNextColor();}
 * @return the next color of the ColorWheel
 */
public static Color getNextColor(){
  assertNonEmpty();
  return wheel.next();
}
Program: 89041
Project: 89041
Buggy source:
/** 
 * Adds a turtle instance to a window  NOTE: this method must be called BEFORE calling any other methods on turtle instances <p><b>Example:</b>   {@code multiTurtleWindow.addTurtle(myTurtle)}</p>
 * @param turtle A turtle instance
 */
public void addTurtle(Turtle turtle){
  if (turtle == null) {
    return;
  }
  this.turtles.add(turtle);
  turtle.setPanel(this);
}

Fixed version (ground truth):
/** 
 * Adds a turtle instance to a window  NOTE: this method must be called BEFORE calling any other methods on turtle instances <p><b>Example:</b>   {@code multiTurtleWindow.addTurtle(myTurtle)}</p>
 * @param turtle A turtle instance
 */
public void addTurtle(Turtle turtle){
  if (turtle == null) {
    return;
  }
  this.turtles.add(turtle);
  turtle.setFrame(this.getFrame());
  turtle.setPanel(this);
}
Program: 89042
Project: 89042
Buggy source:
public void show(){
  hidden=false;
  refreshPanel();
}

Fixed version (ground truth):
public void show(){
  hidden=false;
  Component p=getPanel();
  this.setFrameVisible(true);
  this.setPanelVisible(true);
  refreshPanel(p);
}
Program: 89043
Project: 89043
Buggy source:
private Component getPanel(){
  if (panel == null) {
    String title="String_Node_Str";
    panel=new TurtlePanel();
    if (speed != TEST_SPEED) {
      JFrame frame=new JFrame(title);
      frame.getContentPane().add(panel);
      ProgramWindow.createStandardFrame(frame);
    }
    panel.setTurtle(this);
  }
  return panel;
}

Fixed version (ground truth):
private Component getPanel(){
  if (panel == null) {
    String title="String_Node_Str";
    panel=new TurtlePanel();
    if (speed != TEST_SPEED) {
      frame=new JFrame(title);
      frame.getContentPane().add(panel);
      ProgramWindow.createStandardFrame(frame);
    }
    panel.setTurtle(this);
  }
  return panel;
}
Program: 89044
Project: 89044
Buggy source:
private void assertNonEmpty(){
  if (list.isEmpty()) {
    String message="String_Node_Str";
    throw new RuntimeException(message);
  }
}

Fixed version (ground truth):
protected void assertNonEmpty(){
  if (list.isEmpty()) {
    String message="String_Node_Str";
    throw new RuntimeException(message);
  }
}
Program: 89045
Project: 89045
Buggy source:
public static void addButton(JPanel panel,JButton button){
  panel.add(button);
}

Fixed version (ground truth):
public void addButton(JButton button){
  this.add(button);
}
Program: 89046
Project: 89046
Buggy source:
public static void main(String[] args) throws Exception {
  Tortoise.setX(150);
  Tortoise.drawShape(4,PenColors.Reds.Red,75,4);
  Tortoise.setX(425);
  Tortoise.drawShape(6,PenColors.Blues.Blue,65,40);
  Tortoise.setX(250);
  Tortoise.setY(375);
  Random r=new Random();
  int sides=r.nextInt(10) + 1;
  Tortoise.drawShape(sides,PenColors.Purples.Purple,50,10);
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  Tortoise.show();
  Tortoise.setX(150);
  Tortoise.drawShape(4,PenColors.Reds.Red,75,4);
  Tortoise.setX(425);
  Tortoise.drawShape(6,PenColors.Blues.Blue,65,40);
  Tortoise.setX(250);
  Tortoise.setY(375);
  Random r=new Random();
  int sides=r.nextInt(10) + 1;
  Tortoise.drawShape(sides,PenColors.Purples.Purple,50,10);
}
Program: 89047
Project: 89047
Buggy source:
public static void main(String[] args) throws Exception {
  Tortoise.drawTortoise();
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  Tortoise.show();
  Tortoise.drawTortoise();
}
Program: 89048
Project: 89048
Buggy source:
@Override public void paint(Graphics g){
  Graphics2D g2d=ProgramWindow.configureGraphics2D(g);
  paintLines(g2d);
  paintTurtle(g2d);
  g2d.dispose();
}

Fixed version (ground truth):
@Override public void paint(Graphics g){
  super.paint(g);
  Graphics2D g2d=ProgramWindow.configureGraphics2D(g);
  paintLines(g2d);
  paintTurtle(g2d);
  g2d.dispose();
}
Program: 89049
Project: 89049
Buggy source:
private boolean grade3Lime(){
  ColorWheel.removeAllColors();
  quiz.question3();
  return getSafeColor() == Colors.Greens.Lime;
}

Fixed version (ground truth):
private boolean grade3Lime(){
  ColorWheel.removeAllColors();
  quiz.question3();
  return Colors.Greens.Lime.equals(getSafeColor());
}
Program: 89050
Project: 89050
Buggy source:
private boolean grade4Red(){
  ColorWheel.removeAllColors();
  quiz.question4();
  return getSafeColor() == Colors.Reds.Red;
}

Fixed version (ground truth):
private boolean grade4Red(){
  ColorWheel.removeAllColors();
  quiz.question4();
  return Colors.Reds.Red.equals(getSafeColor());
}
Program: 89051
Project: 89051
Buggy source:
public Color getSafeColor(){
  try {
    return ColorWheel.getNextColor();
  }
 catch (  Exception e) {
    return null;
  }
}

Fixed version (ground truth):
public Color getSafeColor(){
  try {
    return ColorWheel.getNextColor();
  }
 catch (  Exception e) {
    return Colors.Yellows.Yellow;
  }
}
Program: 89052
Project: 89052
Buggy source:
public void question3(String templateText,Object model){
}

Fixed version (ground truth):
public void question3(String templateText,Object model){
  word3=Parser.parse(templateText,model);
}
Program: 89053
Project: 89053
Buggy source:
public void question2(String letter1){
}

Fixed version (ground truth):
public void question2(String letter1){
  word2=word2 + letter1;
}
Program: 89054
Project: 89054
Buggy source:
public void question4(Pieces pieces){
}

Fixed version (ground truth):
public void question4(Pieces pieces){
  template4="String_Node_Str";
}
Program: 89055
Project: 89055
Buggy source:
public void question1(String letter1,String letter3){
}

Fixed version (ground truth):
public void question1(String letter1,String letter3){
  word1=letter1 + 'o' + letter3;
}
Program: 89056
Project: 89056
Buggy source:
@Test public void feedTheNinja() throws Exception {
  Tortoise michealangelo=new Tortoise();
  michealangelo.likesTopping(Topping.Pepperoni);
  Pizza pizza=new Pizza();
  pizza.addTopping(_________);
  boolean likedIt=michealangelo.eatPizza(pizza);
  Assert.assertTrue("String_Node_Str",likedIt);
}

Fixed version (ground truth):
@Test public void feedTheNinja() throws Exception {
  Tortoise michelangelo=new Tortoise();
  michelangelo.likesTopping(Topping.Pepperoni);
  Pizza pizza=new Pizza();
  pizza.addTopping(_________);
  boolean likedIt=michelangelo.eatPizza(pizza);
  Assert.assertTrue("String_Node_Str",likedIt);
}
Program: 89057
Project: 89057
Buggy source:
@Test public void twoTortoisesYetAgain() throws Exception {
  Tortoise rafael=new Tortoise();
  Tortoise michealangelo=new Tortoise();
  Tortoise anonymousNinja=________;
  boolean result=michealangelo.equals(anonymousNinja);
  Assert.assertEquals(true,result);
}

Fixed version (ground truth):
@Test public void twoTortoisesYetAgain() throws Exception {
  Tortoise rafael=new Tortoise();
  Tortoise michelangelo=new Tortoise();
  Tortoise anonymousNinja=________;
  boolean result=michelangelo.equals(anonymousNinja);
  Assert.assertEquals(true,result);
}
Program: 89058
Project: 89058
Buggy source:
private boolean grade1You(){
  quiz.word1="String_Node_Str";
  quiz.question1("String_Node_Str","String_Node_Str");
  return "String_Node_Str".equals(quiz.word1);
}

Fixed version (ground truth):
private boolean grade1You(){
  quiz.currentWord1="String_Node_Str";
  quiz.question1("String_Node_Str","String_Node_Str");
  return "String_Node_Str".equals(quiz.currentWord1);
}
Program: 89059
Project: 89059
Buggy source:
public static void main(String[] args){
}

Fixed version (ground truth):
public static void main(String[] args){
  Tortoise.explode();
  Tortoise.show();
  Tortoise.move(50);
  Tortoise.getBackgroundWindow().setCursor(Cursor.CROSSHAIR_CURSOR);
}
Program: 89061
Project: 89061
Buggy source:
public AbstractVerifierAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public AbstractVerifierAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89062
Project: 89062
Buggy source:
public Analyser(List<Vulnerability> vulnerabilities){
  this.vulnerabilities=vulnerabilities;
}

Fixed version (ground truth):
public Analyser(Set<Vulnerability> vulnerabilities){
  this.vulnerabilities=vulnerabilities;
}
Program: 89063
Project: 89063
Buggy source:
@Override protected void internalTransform(String phase,Map<String,String> options){
  for (  Analyser analyser : analysers) {
    analyser.analyse();
  }
}

Fixed version (ground truth):
@Override protected void internalTransform(String phase,Map<String,String> options){
  int size;
  do {
    size=vulnerabilities.size();
    for (    Analyser analyser : analysers) {
      analyser.analyse();
    }
  }
 while (size != vulnerabilities.size());
}
Program: 89064
Project: 89064
Buggy source:
public AnalysisTransformer(Analyser... analysers){
  this.analysers=analysers;
}

Fixed version (ground truth):
public AnalysisTransformer(Set<Vulnerability> vulnerabilities,Analyser... analysers){
  this.vulnerabilities=vulnerabilities;
  this.analysers=analysers;
}
Program: 89065
Project: 89065
Buggy source:
public DefaultHostnameVerifierAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public DefaultHostnameVerifierAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89066
Project: 89066
Buggy source:
public HostnameVerifierAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public HostnameVerifierAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89067
Project: 89067
Buggy source:
public HttpsUrlConnectionAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public HttpsUrlConnectionAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89068
Project: 89068
Buggy source:
public IntraProceduralAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public IntraProceduralAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89069
Project: 89069
Buggy source:
public KnownHostnameVerifierAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public KnownHostnameVerifierAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89070
Project: 89070
Buggy source:
public SslContextAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public SslContextAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89071
Project: 89071
Buggy source:
public TrustManagerAnalyser(List<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}

Fixed version (ground truth):
public TrustManagerAnalyser(Set<Vulnerability> vulnerabilities){
  super(vulnerabilities);
}
Program: 89073
Project: 89073
Buggy source:
private SSLSocket createSecureSocket(Socket socket,MitmKeyManager keyManager) throws IOException {
  String host=socket.getInetAddress().getHostAddress();
  int port=socket.getPort();
  try {
    SSLContext ctx=SSLContext.getInstance("String_Node_Str");
    ctx.init(new KeyManager[]{keyManager},null,null);
    return (SSLSocket)ctx.getSocketFactory().createSocket(socket,host,port,true);
  }
 catch (  NoSuchAlgorithmException|KeyManagementException ex) {
    throw new IOException(ex);
  }
}

Fixed version (ground truth):
private SSLSocket createSecureSocket(Socket socket,MitmKeyManager keyManager) throws IOException {
  String host=socket.getInetAddress().getHostAddress();
  int port=socket.getPort();
  try {
    SSLContext ctx=SSLContext.getInstance("String_Node_Str");
    ctx.init(new KeyManager[]{keyManager},null,null);
    SSLSocket sslSocket=(SSLSocket)ctx.getSocketFactory().createSocket(socket,host,port,true);
    SocketUtils.fixSslOutputStream(sslSocket);
    return sslSocket;
  }
 catch (  NoSuchAlgorithmException|KeyManagementException ex) {
    throw new IOException(ex);
  }
}
Program: 89074
Project: 89074
Buggy source:
public final SSLSocket openSslSocket(InetSocketAddress source,InetSocketAddress destination,String host) throws IOException {
  Socket raw=openSocket(source,destination);
  return (SSLSocket)sslSocketFactory.createSocket(raw,host,destination.getPort(),true);
}

Fixed version (ground truth):
public final SSLSocket openSslSocket(InetSocketAddress source,InetSocketAddress destination,String host) throws IOException {
  Socket raw=openSocket(source,destination);
  SSLSocket socket=(SSLSocket)sslSocketFactory.createSocket(raw,host,destination.getPort(),true);
  SocketUtils.fixSslOutputStream(socket);
  return socket;
}
Program: 89075
Project: 89075
Buggy source:
public static void main(String[] args){
  if (args.length != 1) {
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str" + StaticAnalyser.class.getName() + "String_Node_Str");
    System.exit(1);
  }
  G.v().out=System.err;
  Options.v().set_src_prec(Options.src_prec_apk);
  Options.v().set_process_dir(Arrays.asList(args[0]));
  Options.v().set_output_format(Options.output_format_none);
  Options.v().set_android_jars("String_Node_Str");
  Options.v().set_allow_phantom_refs(true);
  Options.v().set_whole_program(true);
  PhaseOptions.v().processPhaseOptions("String_Node_Str","String_Node_Str");
  List<Vulnerability> vulnerabilities=new ArrayList<>();
  Pack wjpp=PackManager.v().getPack("String_Node_Str");
  wjpp.add(new Transform("String_Node_Str",new EntryMethodTransformer()));
  AnalysisTransformer transformer=new AnalysisTransformer(new KnownHostnameVerifierAnalyser(vulnerabilities),new HostnameVerifierAnalyser(vulnerabilities),new AbstractVerifierAnalyser(vulnerabilities),new DefaultHostnameVerifierAnalyser(vulnerabilities),new HttpsUrlConnectionAnalyser(vulnerabilities),new TrustManagerAnalyser(vulnerabilities),new SslContextAnalyser(vulnerabilities));
  Pack wjtp=PackManager.v().getPack("String_Node_Str");
  wjtp.add(new Transform("String_Node_Str",transformer));
  Scene.v().loadNecessaryClasses();
  PackManager.v().runPacks();
  for (  Vulnerability vulnerability : vulnerabilities) {
    System.out.println(vulnerability.toString());
  }
}

Fixed version (ground truth):
public static void main(String[] args){
  if (args.length != 1) {
    System.err.println("String_Node_Str");
    System.err.println("String_Node_Str" + StaticAnalyser.class.getName() + "String_Node_Str");
    System.exit(1);
  }
  G.v().out=System.err;
  Options.v().set_src_prec(Options.src_prec_apk);
  Options.v().set_process_dir(Arrays.asList(args[0]));
  Options.v().set_output_format(Options.output_format_none);
  Options.v().set_force_android_jar("String_Node_Str");
  Options.v().set_allow_phantom_refs(true);
  Options.v().set_whole_program(true);
  PhaseOptions.v().processPhaseOptions("String_Node_Str","String_Node_Str");
  List<Vulnerability> vulnerabilities=new ArrayList<>();
  Pack wjpp=PackManager.v().getPack("String_Node_Str");
  wjpp.add(new Transform("String_Node_Str",new EntryMethodTransformer()));
  AnalysisTransformer transformer=new AnalysisTransformer(new KnownHostnameVerifierAnalyser(vulnerabilities),new HostnameVerifierAnalyser(vulnerabilities),new AbstractVerifierAnalyser(vulnerabilities),new DefaultHostnameVerifierAnalyser(vulnerabilities),new HttpsUrlConnectionAnalyser(vulnerabilities),new TrustManagerAnalyser(vulnerabilities),new SslContextAnalyser(vulnerabilities));
  Pack wjtp=PackManager.v().getPack("String_Node_Str");
  wjtp.add(new Transform("String_Node_Str",transformer));
  Scene.v().loadNecessaryClasses();
  PackManager.v().runPacks();
  for (  Vulnerability vulnerability : vulnerabilities) {
    System.out.println(vulnerability.toString());
  }
}
Program: 89076
Project: 89076
Buggy source:
@Override protected void internalTransform(String phase,Map<String,String> options){
  for (  SootClass clazz : Scene.v().getApplicationClasses()) {
    Scene.v().getEntryPoints().addAll(clazz.getMethods());
  }
}

Fixed version (ground truth):
@Override protected void internalTransform(String phase,Map<String,String> options){
  for (  SootClass clazz : Scene.v().getApplicationClasses()) {
    for (    SootMethod method : clazz.getMethods()) {
      if (method.isConcrete()) {
        Scene.v().getEntryPoints().add(method);
      }
    }
  }
}
Program: 89077
Project: 89077
Buggy source:
/** 
 * On update of event execution information behaviour\
 * @param childAssocRef child association reference
 * @param isNewNode     true if a new node, false otherwise
 */
@SuppressWarnings("String_Node_Str") public void eventExecutionUpdate(ChildAssociationRef childAssocRef,boolean isNewNode){
  NodeRef dispositionAction=childAssocRef.getParentRef();
  NodeRef eventExecution=childAssocRef.getChildRef();
  if (nodeService.exists(dispositionAction) && nodeService.exists(eventExecution)) {
    ChildAssociationRef assoc=nodeService.getPrimaryParent(dispositionAction);
    if (assoc.getTypeQName().equals(ASSOC_NEXT_DISPOSITION_ACTION)) {
      NodeRef record=assoc.getParentRef();
      applySearchAspect(record);
      Collection<String> events=(List<String>)nodeService.getProperty(record,PROP_RS_DISPOSITION_EVENTS);
      if (events == null) {
        events=new ArrayList<String>(1);
      }
      events.add((String)nodeService.getProperty(eventExecution,PROP_EVENT_EXECUTION_NAME));
      nodeService.setProperty(record,PROP_RS_DISPOSITION_EVENTS,(Serializable)events);
    }
  }
}

Fixed version (ground truth):
/** 
 * On update of event execution information behaviour\
 * @param childAssocRef child association reference
 * @param isNewNode     true if a new node, false otherwise
 */
@SuppressWarnings("String_Node_Str") public void eventExecutionUpdate(ChildAssociationRef childAssocRef,boolean isNewNode){
  NodeRef dispositionAction=childAssocRef.getParentRef();
  NodeRef eventExecution=childAssocRef.getChildRef();
  if (nodeService.exists(dispositionAction) && nodeService.exists(eventExecution)) {
    ChildAssociationRef assoc=nodeService.getPrimaryParent(dispositionAction);
    if (assoc.getTypeQName().equals(ASSOC_NEXT_DISPOSITION_ACTION)) {
      NodeRef record=assoc.getParentRef();
      applySearchAspect(record);
      Collection<String> events=(Collection<String>)nodeService.getProperty(record,PROP_RS_DISPOSITION_EVENTS);
      if (events == null) {
        events=new ArrayList<>(1);
      }
      events.add((String)nodeService.getProperty(eventExecution,PROP_EVENT_EXECUTION_NAME));
      nodeService.setProperty(record,PROP_RS_DISPOSITION_EVENTS,(Serializable)events);
    }
  }
}
Program: 89080
Project: 89080
Buggy source:
/** 
 * Gets the template name based on the type and mimetype.
 * @param mimetype
 * @return
 */
private String getReportTemplateName(String mimetype){
  String typePrefixName=reportType.getPrefixedQName(namespaceService).getPrefixString().replace("String_Node_Str","String_Node_Str");
  String extension=mimetypeService.getExtension(mimetype);
  StringBuffer sb=new StringBuffer(128).append("String_Node_Str").append(typePrefixName).append("String_Node_Str").append(extension).append("String_Node_Str");
  return sb.toString();
}

Fixed version (ground truth):
/** 
 * Gets the template name based on the type and mimetype.
 * @param mimetype
 * @return
 */
private String getReportTemplateName(String mimetype){
  String typePrefixName=reportType.getPrefixedQName(namespaceService).getPrefixString().replace("String_Node_Str","String_Node_Str");
  String extension=mimetypeService.getExtension(mimetype);
  StringBuilder sb=new StringBuilder(128).append("String_Node_Str").append(typePrefixName).append("String_Node_Str").append(extension).append("String_Node_Str");
  return sb.toString();
}
Program: 89082
Project: 89082
Buggy source:
private String getDisplayName(String userName){
  String result=personDataCache.get(userName);
  if (result == null) {
    NodeRef person=personService.getPerson(userName);
    if (person != null) {
      StringBuffer displayName=new StringBuffer(128);
      displayName.append(nodeService.getProperty(person,ContentModel.PROP_FIRSTNAME)).append("String_Node_Str").append(nodeService.getProperty(person,ContentModel.PROP_LASTNAME));
      result=displayName.toString();
    }
 else {
      result=userName;
    }
    personDataCache.put(userName,result);
  }
  return result;
}

Fixed version (ground truth):
private String getDisplayName(String userName){
  String result=personDataCache.get(userName);
  if (result == null) {
    NodeRef person=personService.getPerson(userName);
    if (person != null) {
      StringBuilder displayName=new StringBuilder(128);
      displayName.append(nodeService.getProperty(person,ContentModel.PROP_FIRSTNAME)).append("String_Node_Str").append(nodeService.getProperty(person,ContentModel.PROP_LASTNAME));
      result=displayName.toString();
    }
 else {
      result=userName;
    }
    personDataCache.put(userName,result);
  }
  return result;
}
Program: 89083
Project: 89083
Buggy source:
/** 
 * Gets the failure report for the currently recorded capabilities.
 * @return  {@link String}  capability error report
 */
public String getFailureReport(){
  String result=null;
  if (LOGGER.isDebugEnabled()) {
    Collection<CapabilityReport> capabilities=RMMethodSecurityInterceptor.CAPABILITIES.get().values();
    if (!capabilities.isEmpty()) {
      StringBuffer buffer=new StringBuffer("String_Node_Str");
      for (      CapabilityReport capability : capabilities) {
        buffer.append("String_Node_Str").append(capability.name).append("String_Node_Str").append(capability.status).append("String_Node_Str");
        if (!capability.conditions.isEmpty()) {
          for (          Map.Entry<String,Boolean> entry : capability.conditions.entrySet()) {
            buffer.append("String_Node_Str").append(entry.getKey()).append("String_Node_Str");
            if (entry.getValue()) {
              buffer.append("String_Node_Str");
            }
 else {
              buffer.append("String_Node_Str");
            }
            buffer.append("String_Node_Str");
          }
        }
      }
      result=buffer.toString();
    }
  }
  return result;
}

Fixed version (ground truth):
/** 
 * Gets the failure report for the currently recorded capabilities.
 * @return  {@link String}  capability error report
 */
public String getFailureReport(){
  String result=null;
  if (LOGGER.isDebugEnabled()) {
    Collection<CapabilityReport> capabilities=RMMethodSecurityInterceptor.CAPABILITIES.get().values();
    if (!capabilities.isEmpty()) {
      StringBuilder buffer=new StringBuilder("String_Node_Str");
      for (      CapabilityReport capability : capabilities) {
        buffer.append("String_Node_Str").append(capability.name).append("String_Node_Str").append(capability.status).append("String_Node_Str");
        if (!capability.conditions.isEmpty()) {
          for (          Map.Entry<String,Boolean> entry : capability.conditions.entrySet()) {
            buffer.append("String_Node_Str").append(entry.getKey()).append("String_Node_Str");
            if (entry.getValue()) {
              buffer.append("String_Node_Str");
            }
 else {
              buffer.append("String_Node_Str");
            }
            buffer.append("String_Node_Str");
          }
        }
      }
      result=buffer.toString();
    }
  }
  return result;
}
Program: 89084
Project: 89084
Buggy source:
/** 
 * @param map
 * @return
 */
private String convertToString(Map<String,String> map){
  StringBuffer buffer=new StringBuffer(256);
  for (  Map.Entry<String,String> entry : map.entrySet()) {
    buffer.append(entry.getKey()).append("String_Node_Str").append(entry.getValue()).append("String_Node_Str");
  }
  return buffer.toString();
}

Fixed version (ground truth):
/** 
 * @param map
 * @return
 */
private String convertToString(Map<String,String> map){
  StringBuilder buffer=new StringBuilder(256);
  for (  Map.Entry<String,String> entry : map.entrySet()) {
    buffer.append(entry.getKey()).append("String_Node_Str").append(entry.getValue()).append("String_Node_Str");
  }
  return buffer.toString();
}
Program: 89085
Project: 89085
Buggy source:
public void refreshCurrentPage(){
  Actions actions=new Actions(Utils.getWebDriver());
  actions.keyDown(Keys.CONTROL).sendKeys(Keys.F5).perform();
}

Fixed version (ground truth):
/** 
 * Refresh the current page. 
 */
public void refreshCurrentPage(){
  webDriver.navigate().refresh();
}
Program: 89088
Project: 89088
Buggy source:
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void confidentialUserSearch(){
  List<SearchResult> results=openPage(CONFIDENTIAL_USER,DEFAULT_PASSWORD,advancedSearchPage).setKeywords(SEARCH_TERM).clickOnSearch().getSearchResults();
  assertEquals("String_Node_Str",2,results.size());
  assertTrue("String_Node_Str",searchResultsContainDocument(UNCLASSIFIED_DOCUMENT,results));
  assertTrue("String_Node_Str",searchResultsContainDocument(CONFIDENTIAL_DOCUMENT,results));
  assertFalse("String_Node_Str",searchResultsContainDocument(SECRET_DOCUMENT,results));
  assertFalse("String_Node_Str",searchResultsContainDocument(TOP_SECRET_DOCUMENT,results));
  SearchResult unclassifiedDocument=getResult(UNCLASSIFIED_DOCUMENT,results);
  SearchResult confidentialDocument=getResult(CONFIDENTIAL_DOCUMENT,results);
  assertTrue(unclassifiedDocument.isSearchResultActionClickable(DocumentActions.CLASSIFY,unclassifiedDocument.getSearchResultRow()));
  assertTrue(confidentialDocument.isSearchResultActionClickable(DocumentActions.EDIT_CLASSIFICATION,confidentialDocument.getSearchResultRow()));
  assertFalse(confidentialDocument.isSearchResultActionDisplayed(DocumentActions.CLASSIFY,confidentialDocument.getSearchResultRow(),true));
}

Fixed version (ground truth):
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void confidentialUserSearch(){
  List<SearchResult> results=openPage(CONFIDENTIAL_USER,DEFAULT_PASSWORD,advancedSearchPage).setKeywords(SEARCH_TERM).clickOnSearch().getSearchResults();
  assertEquals("String_Node_Str",2,results.size());
  assertTrue("String_Node_Str",searchResultsContainDocument(UNCLASSIFIED_DOCUMENT,results));
  assertTrue("String_Node_Str",searchResultsContainDocument(CONFIDENTIAL_DOCUMENT,results));
  assertFalse("String_Node_Str",searchResultsContainDocument(SECRET_DOCUMENT,results));
  assertFalse("String_Node_Str",searchResultsContainDocument(TOP_SECRET_DOCUMENT,results));
  SearchResult unclassifiedDocument=getResult(UNCLASSIFIED_DOCUMENT,results);
  SearchResult confidentialDocument=getResult(CONFIDENTIAL_DOCUMENT,results);
  assertTrue(unclassifiedDocument.isSearchResultActionClickable(DocumentActions.CLASSIFY,unclassifiedDocument.getSearchResultRow()));
  assertTrue(confidentialDocument.isSearchResultActionClickable(DocumentActions.EDIT_CLASSIFICATION,confidentialDocument.getSearchResultRow()));
}
Program: 89089
Project: 89089
Buggy source:
/** 
 * Upgrade the classification of a document and check the reclassification fields are set. 
 */
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void upgradeDocument(){
  openPage(documentLibrary,SITE_ID);
  documentLibrary.getDocument(DOCUMENT).clickOnEditClassification().setLevel(TOP_SECRET_CLASSIFICATION_LEVEL_TEXT).setReclassifiedBy("String_Node_Str").setReclassifyReason("String_Node_Str").clickOnClassify();
  documentLibrary.getDocument(DOCUMENT).clickOnLink(classifiedDocumentDetails);
  Map<ClassifiedPropertiesPanelField,String> expectedFields=new HashMap<>();
  expectedFields.put(ClassifiedPropertiesPanelField.CURRENT_CLASSIFICATION,TOP_SECRET_CLASSIFICATION_LEVEL_TEXT);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_BY,"String_Node_Str");
  String expectedDate=DateTimeFormatter.ofPattern("String_Node_Str").withZone(ZoneOffset.UTC).format(Instant.now());
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_DATE,expectedDate);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_REASON,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_ACTION,"String_Node_Str");
  expectedFields.forEach((field,value) -> assertEquals(value,classifiedPropertiesPanel.getClassifiedProperty(field)));
}

Fixed version (ground truth):
/** 
 * Upgrade the classification of a document and check the reclassification fields are set. 
 */
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void upgradeDocument(){
  openPage(documentLibrary,SITE_ID);
  documentLibrary.getDocument(DOCUMENT).clickOnEditClassification().setLevel(TOP_SECRET_CLASSIFICATION_LEVEL_TEXT).setReclassifiedBy("String_Node_Str").setReclassifyReason("String_Node_Str").clickOnClassify();
  documentLibrary.getDocument(DOCUMENT).clickOnLink(classifiedDocumentDetails);
  Map<ClassifiedPropertiesPanelField,String> expectedFields=new HashMap<>();
  expectedFields.put(ClassifiedPropertiesPanelField.CURRENT_CLASSIFICATION,TOP_SECRET_CLASSIFICATION_LEVEL_TEXT);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_BY,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_REASON,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_ACTION,"String_Node_Str");
  expectedFields.forEach((field,value) -> assertEquals(value,classifiedPropertiesPanel.getClassifiedProperty(field)));
  String reclassifyDate=classifiedPropertiesPanel.getClassifiedProperty(ClassifiedPropertiesPanelField.RECLASSIFY_DATE);
  checkValidPropertiesPanelDate(reclassifyDate,"String_Node_Str");
}
Program: 89090
Project: 89090
Buggy source:
/** 
 * Downgrade the classification of a document and check the reclassification fields are set. 
 */
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void downgradeDocument(){
  openPage(documentLibrary,SITE_ID);
  documentLibrary.getDocument(DOCUMENT).clickOnEditClassification().setLevel(CONFIDENTIAL_CLASSIFICATION_LEVEL_TEXT).setReclassifiedBy("String_Node_Str").setReclassifyReason("String_Node_Str").clickOnClassify();
  documentLibrary.getDocument(DOCUMENT).clickOnLink(classifiedDocumentDetails);
  Map<ClassifiedPropertiesPanelField,String> expectedFields=new HashMap<>();
  expectedFields.put(ClassifiedPropertiesPanelField.CURRENT_CLASSIFICATION,CONFIDENTIAL_CLASSIFICATION_LEVEL_TEXT);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_BY,"String_Node_Str");
  String expectedDate=DateTimeFormatter.ofPattern("String_Node_Str").withZone(ZoneOffset.UTC).format(Instant.now());
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_DATE,expectedDate);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_REASON,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_ACTION,"String_Node_Str");
  expectedFields.forEach((field,value) -> assertEquals(value,classifiedPropertiesPanel.getClassifiedProperty(field)));
}

Fixed version (ground truth):
/** 
 * Downgrade the classification of a document and check the reclassification fields are set. 
 */
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void downgradeDocument(){
  openPage(documentLibrary,SITE_ID);
  documentLibrary.getDocument(DOCUMENT).clickOnEditClassification().setLevel(CONFIDENTIAL_CLASSIFICATION_LEVEL_TEXT).setReclassifiedBy("String_Node_Str").setReclassifyReason("String_Node_Str").clickOnClassify();
  documentLibrary.getDocument(DOCUMENT).clickOnLink(classifiedDocumentDetails);
  Map<ClassifiedPropertiesPanelField,String> expectedFields=new HashMap<>();
  expectedFields.put(ClassifiedPropertiesPanelField.CURRENT_CLASSIFICATION,CONFIDENTIAL_CLASSIFICATION_LEVEL_TEXT);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_BY,"String_Node_Str");
  String expectedDate=DateTimeFormatter.ofPattern("String_Node_Str").withZone(ZoneOffset.UTC).format(Instant.now());
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_DATE,expectedDate);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_REASON,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_ACTION,"String_Node_Str");
  expectedFields.forEach((field,value) -> assertEquals(value,classifiedPropertiesPanel.getClassifiedProperty(field)));
  String reclassifyDate=classifiedPropertiesPanel.getClassifiedProperty(ClassifiedPropertiesPanelField.RECLASSIFY_DATE);
  checkValidPropertiesPanelDate(reclassifyDate,"String_Node_Str");
}
Program: 89091
Project: 89091
Buggy source:
/** 
 * Declassify a document and check the reclassification fields are set. This must not be done before the downgrade test and so it 'depends' on it.
 */
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void declassifyDocument(){
  openPage(documentLibrary,SITE_ID);
  documentLibrary.getDocument(DOCUMENT).clickOnEditClassification().setLevel(UNCLASSIFIED_CLASSIFICATION_LEVEL_TEXT).setReclassifiedBy("String_Node_Str").setReclassifyReason("String_Node_Str").clickOnClassify();
  documentLibrary.getDocument(DOCUMENT).clickOnLink(classifiedDocumentDetails);
  Map<ClassifiedPropertiesPanelField,String> expectedFields=new HashMap<>();
  expectedFields.put(ClassifiedPropertiesPanelField.CURRENT_CLASSIFICATION,UNCLASSIFIED_CLASSIFICATION_LEVEL_TEXT);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_BY,"String_Node_Str");
  String expectedDate=DateTimeFormatter.ofPattern("String_Node_Str").withZone(ZoneOffset.UTC).format(Instant.now());
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_DATE,expectedDate);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_REASON,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_ACTION,"String_Node_Str");
  expectedFields.forEach((field,value) -> assertEquals(value,classifiedPropertiesPanel.getClassifiedProperty(field)));
}

Fixed version (ground truth):
/** 
 * Declassify a document and check the reclassification fields are set. This must not be done before the downgrade test and so it 'depends' on it.
 */
@Test(groups={"String_Node_Str"},description="String_Node_Str",dependsOnMethods="String_Node_Str") @AlfrescoTest(jira="String_Node_Str") public void declassifyDocument(){
  openPage(documentLibrary,SITE_ID);
  documentLibrary.getDocument(DOCUMENT).clickOnEditClassification().setLevel(UNCLASSIFIED_CLASSIFICATION_LEVEL_TEXT).setReclassifiedBy("String_Node_Str").setReclassifyReason("String_Node_Str").clickOnClassify();
  documentLibrary.getDocument(DOCUMENT).clickOnLink(classifiedDocumentDetails);
  Map<ClassifiedPropertiesPanelField,String> expectedFields=new HashMap<>();
  expectedFields.put(ClassifiedPropertiesPanelField.CURRENT_CLASSIFICATION,UNCLASSIFIED_CLASSIFICATION_LEVEL_TEXT);
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_BY,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_REASON,"String_Node_Str");
  expectedFields.put(ClassifiedPropertiesPanelField.RECLASSIFY_ACTION,"String_Node_Str");
  expectedFields.forEach((field,value) -> assertEquals(value,classifiedPropertiesPanel.getClassifiedProperty(field)));
  String reclassifyDate=classifiedPropertiesPanel.getClassifiedProperty(ClassifiedPropertiesPanelField.RECLASSIFY_DATE);
  checkValidPropertiesPanelDate(reclassifyDate,"String_Node_Str");
}
Program: 89092
Project: 89092
Buggy source:
/** 
 * Click on the more actions link
 */
private void clickOnMoreActions(){
  Utils.mouseOver(row);
  WebElement moreAction=getMoreActionLink(row);
  if (moreAction != null) {
    Utils.waitFor(ExpectedConditions.elementToBeClickable(moreAction));
    Utils.mouseOver(moreAction);
    moreAction.click();
    waitForVisibilityOf(row.findElement(moreActionsPanelSelector));
  }
}

Fixed version (ground truth):
/** 
 * Click on the more actions link
 */
private void clickOnMoreActions(){
  Utils.mouseOver(row);
  WebElement moreAction=getMoreActionLink(row);
  if (moreAction != null) {
    Utils.mouseOver(moreAction);
    Utils.waitFor(ExpectedConditions.elementToBeClickable(moreAction));
    if (!moreAction.isDisplayed() || !moreAction.isEnabled()) {
      Utils.mouseOver(moreAction);
      Utils.waitFor(ExpectedConditions.elementToBeClickable(moreAction));
    }
    moreAction.click();
    waitForVisibilityOf(row.findElement(moreActionsPanelSelector));
  }
}
Program: 89093
Project: 89093
Buggy source:
/** 
 * selects incomplete records from saved searches 
 */
public void selectIncompleteRecordsSearch(){
  savedSearches.click();
  Utils.waitForVisibilityOf(incompleteRecords);
  incompleteRecords.click();
}

Fixed version (ground truth):
/** 
 * selects incomplete records from saved searches 
 */
public void selectIncompleteRecordsSearch(){
  Utils.waitForVisibilityOf(savedSearches);
  savedSearches.click();
  Utils.waitForVisibilityOf(incompleteRecords);
  incompleteRecords.click();
}
Program: 89094
Project: 89094
Buggy source:
/** 
 * click on the search button in order to start the search
 */
public void clickOnSearch(){
  searchButton.click();
  Utils.waitForVisibilityOf(resultsPageEnabled);
  Utils.webDriverWait(3);
  searchRecordsResults.render();
}

Fixed version (ground truth):
/** 
 * click on the search button in order to start the search
 */
public void clickOnSearch(){
  Utils.waitForVisibilityOf(searchButton);
  searchButton.click();
  Utils.waitForVisibilityOf(resultsPageEnabled);
  searchRecordsResults.render();
}
Program: 89095
Project: 89095
Buggy source:
/** 
 * get the search results names from the results tab
 * @return the list of results from the Name column
 */
public List<String> getResults(){
  List<String> recordsNames=new ArrayList<>();
  Utils.waitForVisibilityOf(resultsContainer);
  Utils.waitForVisibilityOf(By.cssSelector(SearchConstants.RESULTS_NAMES_SELECTOR));
  List<WebElement> results=webDriver.findElements(By.cssSelector(SearchConstants.RESULTS_NAMES_SELECTOR));
  System.out.println("String_Node_Str");
  for (  WebElement record : results) {
    String recordName=record.getText();
    recordsNames.add(recordName);
    System.out.println(recordName);
  }
  return recordsNames;
}

Fixed version (ground truth):
/** 
 * get the search results names from the results tab
 * @return the list of results from the Name column
 */
public List<String> getResults(){
  List<String> recordsNames=new ArrayList<>();
  Utils.waitFor(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector(SearchConstants.RESULTS_NAMES_SELECTOR)));
  List<WebElement> results=webDriver.findElements(By.cssSelector(SearchConstants.RESULTS_NAMES_SELECTOR));
  for (  WebElement record : results) {
    String recordName=record.getText();
    recordsNames.add(recordName);
  }
  return recordsNames;
}
Program: 89096
Project: 89096
Buggy source:
/** 
 * navigates to the Criteria tab from the Results tab
 */
public void navigateToCriteriaTab(){
  criteriaPage.click();
  Utils.waitForVisibilityOf(criteriaPageEnabled);
  Utils.webDriverWait(5);
  recordsSearchPage.render();
}

Fixed version (ground truth):
/** 
 * navigates to the Criteria tab from the Results tab
 */
public void navigateToCriteriaTab(){
  criteriaPage.click();
  Utils.waitForVisibilityOf(criteriaPageEnabled);
  recordsSearchPage.render();
}
Program: 89097
Project: 89097
Buggy source:
/** 
 * Click on search records link
 */
public RecordsSearch clickOnRecordsSearch(){
  search.click();
  Utils.webDriverWait(3);
  return recordsSearch.render();
}

Fixed version (ground truth):
/** 
 * Click on search records link
 */
public RecordsSearch clickOnRecordsSearch(){
  Utils.waitFor(ExpectedConditions.elementToBeClickable(search.getWrappedElement()));
  search.click();
  return recordsSearch.render();
}
Program: 89098
Project: 89098
Buggy source:
/** 
 * Click on the more actions link
 */
private void clickOnMoreActions(){
  Utils.mouseOver(row);
  WebElement moreAction=getMoreActionLink(row);
  if (moreAction != null) {
    Utils.waitFor(ExpectedConditions.elementToBeClickable(moreAction));
    Utils.mouseOver(moreAction);
    moreAction.click();
    waitForVisibilityOf(row.findElement(moreActionsPanelSelector));
  }
}

Fixed version (ground truth):
/** 
 * Click on the more actions link
 */
private void clickOnMoreActions(){
  Utils.mouseOver(row);
  WebElement moreAction=getMoreActionLink(row);
  if (moreAction != null) {
    Utils.waitFor(ExpectedConditions.elementToBeClickable(moreAction));
    Utils.mouseOver(moreAction);
    Utils.waitFor(ExpectedConditions.visibilityOf(moreAction));
    moreAction.click();
    waitForVisibilityOf(row.findElement(moreActionsPanelSelector));
  }
}
Program: 89099
Project: 89099
Buggy source:
/** 
 * Create top secret, confidential and unclassified records for search.
 */
@Test(groups={"String_Node_Str","String_Node_Str"},description="String_Node_Str",dependsOnGroups={"String_Node_Str"}) public void createClassifiedRecordsForSearch(){
  openPage(filePlan,RM_SITE_ID,createPathFrom("String_Node_Str",RECORD_CATEGORY_ONE,RECORD_FOLDER_SEARCH));
  filePlan.getToolbar().clickOnFile().clickOnElectronic().uploadFile(TOP_SECRET_RECORD_SEARCH);
  Utils.webDriverWait(2);
  filePlan.getToolbar().clickOnFile().clickOnElectronic().uploadFile(UNCLASSIFIED_RECORD_SEARCH);
  Utils.webDriverWait(2);
  filePlan.getToolbar().clickOnFile().clickOnElectronic().uploadFile(CONFIDENTIAL_RECORD_SEARCH);
  Utils.webDriverWait(2);
  filePlan.getRecord(TOP_SECRET_RECORD_SEARCH).clickOnAction(RecordActionsPanel.CLASSIFY,classifyContentDialog);
  classifyContentDialog.setLevel(TOP_SECRET_CLASSIFICATION_LEVEL_TEXT).setClassifiedBy(CLASSIFIED_BY).setAgency(CLASSIFICATION_AGENCY).addReason(CLASSIFICATION_REASON).clickOnClassify();
  filePlan.getRecord(TOP_SECRET_RECORD_SEARCH).hasIndicator(RecordIndicators.CLASSIFIED);
  Utils.webDriverWait(2);
  filePlan.getRecord(CONFIDENTIAL_RECORD_SEARCH).clickOnAction(RecordActionsPanel.CLASSIFY,classifyContentDialog);
  classifyContentDialog.setLevel(CONFIDENTIAL_CLASSIFICATION_LEVEL_TEXT).setClassifiedBy(CLASSIFIED_BY).setAgency(CLASSIFICATION_AGENCY).addReason(CLASSIFICATION_REASON).clickOnClassify();
  filePlan.getRecord(CONFIDENTIAL_RECORD_SEARCH).hasIndicator(RecordIndicators.CLASSIFIED);
  Utils.webDriverWait(2);
}

Fixed version (ground truth):
/** 
 * Create top secret, confidential and unclassified records for search.
 */
@Test(groups={"String_Node_Str","String_Node_Str"},description="String_Node_Str",dependsOnGroups={"String_Node_Str"}) public void createClassifiedRecordsForSearch(){
  openPage(filePlan,RM_SITE_ID,createPathFrom("String_Node_Str",RECORD_CATEGORY_ONE,RECORD_FOLDER_SEARCH));
  filePlan.getToolbar().clickOnFile().clickOnElectronic().uploadFile(TOP_SECRET_RECORD_SEARCH);
  filePlan.getToolbar().clickOnFile().clickOnElectronic().uploadFile(UNCLASSIFIED_RECORD_SEARCH);
  filePlan.getToolbar().clickOnFile().clickOnElectronic().uploadFile(CONFIDENTIAL_RECORD_SEARCH);
  filePlan.getRecord(TOP_SECRET_RECORD_SEARCH).clickOnAction(RecordActionsPanel.CLASSIFY,classifyContentDialog);
  classifyContentDialog.setLevel(TOP_SECRET_CLASSIFICATION_LEVEL_TEXT).setClassifiedBy(CLASSIFIED_BY).setAgency(CLASSIFICATION_AGENCY).addReason(CLASSIFICATION_REASON).clickOnClassify();
  filePlan.getRecord(TOP_SECRET_RECORD_SEARCH).hasIndicator(RecordIndicators.CLASSIFIED);
  filePlan.getRecord(CONFIDENTIAL_RECORD_SEARCH).clickOnAction(RecordActionsPanel.CLASSIFY,classifyContentDialog);
  classifyContentDialog.setLevel(CONFIDENTIAL_CLASSIFICATION_LEVEL_TEXT).setClassifiedBy(CLASSIFIED_BY).setAgency(CLASSIFICATION_AGENCY).addReason(CLASSIFICATION_REASON).clickOnClassify();
  filePlan.getRecord(CONFIDENTIAL_RECORD_SEARCH).hasIndicator(RecordIndicators.CLASSIFIED);
}
Program: 89100
Project: 89100
Buggy source:
/** 
 * get the item map
 */
private Map<String,ListItem> getItemMap(){
  return Utils.retry(new Retry<Map<String,ListItem>>(){
    @Override public Map<String,ListItem> execute(){
      List<WebElement> rows=webDriver.findElements(rowsSelector);
      if (rows.size() == itemCount) {
        Map<String,ListItem> itemMap=new HashMap<String,ListItem>(rows.size());
        for (        WebElement row : rows) {
          ListItem item=listItemFactory.getItem(row);
          itemMap.put(item.getName(),item);
        }
        return itemMap;
      }
 else {
        throw new IllegalStateException("String_Node_Str" + itemCount + "String_Node_Str"+ rows.size());
      }
    }
  }
,5);
}

Fixed version (ground truth):
/** 
 * get the item map
 */
private Map<String,ListItem> getItemMap(){
  waitForRows();
  List<WebElement> rows=webDriver.findElements(rowsSelector);
  Map<String,ListItem> itemMap=new HashMap<String,ListItem>(rows.size());
  for (  WebElement row : rows) {
    ListItem item=listItemFactory.getItem(row);
    itemMap.put(item.getName(),item);
  }
  return itemMap;
}
Program: 89101
Project: 89101
Buggy source:
/** 
 * @see org.alfresco.po.common.renderable.Renderable#render()
 */
@Override public <T extends Renderable>T render(){
  T result=super.render();
  String text=current.getText();
  String[] values=text.split("String_Node_Str");
  itemCount=Integer.parseInt(values[2]);
  if (itemCount != 0) {
    Utils.waitFor(ExpectedConditions.presenceOfAllElementsLocatedBy(rowsSelector));
  }
  return result;
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.po.common.renderable.Renderable#render()
 */
@Override public <T extends Renderable>T render(){
  T result=super.render();
  waitForRows();
  return result;
}
Program: 89102
Project: 89102
Buggy source:
/** 
 * Does the current row have the requested indicator?
 * @param indicator {String}
 * @return boolean
 */
public boolean hasIndicator(String indicator){
  WebElement indicatorElement=null;
  boolean result=false;
  try {
    indicatorElement=Utils.waitForFind(row,getIndicatorSelector(indicator));
  }
 catch (  NoSuchElementException e) {
  }
  if (indicatorElement != null) {
    result=true;
  }
  return result;
}

Fixed version (ground truth):
/** 
 * Does the current row have the requested indicator?
 * @param indicator {String}
 * @return boolean
 */
public boolean hasIndicator(String indicator){
  WebElement indicatorElement=null;
  boolean result=false;
  try {
    indicatorElement=Utils.waitForFind(row,getIndicatorSelector(indicator));
  }
 catch (  TimeoutException e) {
  }
  if (indicatorElement != null) {
    result=true;
  }
  return result;
}
Program: 89103
Project: 89103
Buggy source:
/** 
 * Helper method to get the action link
 */
private Link getActionLink(String actionName){
  Link result=null;
  try {
    WebElement link=Utils.waitForFind(row,getActionSelector(actionName));
    result=new Link(link);
  }
 catch (  NoSuchElementException e) {
  }
  return result;
}

Fixed version (ground truth):
/** 
 * Helper method to get the action link
 */
private Link getActionLink(String actionName){
  Link result=null;
  try {
    WebElement link=Utils.waitForFind(row,getActionSelector(actionName));
    result=new Link(link);
  }
 catch (  TimeoutException e) {
  }
  return result;
}