nus-yam/ex-repair huggingface dataset:
Program: 34428
Project: 34428
Buggy source:
/** 
 * Add a device under the given gateway using the Java Client Library.
 * @throws IoTFCReSTException
 */
private void addDevice(String deviceId) throws IoTFCReSTException {
  try {
    String deviceToBeAdded="String_Node_Str" + deviceId + "String_Node_Str";
    System.out.println(deviceToBeAdded);
    JsonParser parser=new JsonParser();
    JsonElement input=parser.parse(deviceToBeAdded);
    JsonObject response=this.apiClient.registerDeviceUnderGateway(DEVICE_TYPE,this.mgdGateway.getGWDeviceId(),this.mgdGateway.getGWTypeId(),input);
    System.out.println(response);
  }
 catch (  IoTFCReSTException e) {
    if (e.getHttpCode() != 409) {
      System.out.println("String_Node_Str" + e.getHttpCode() + "String_Node_Str"+ e.getMessage());
      System.out.println(e.getResponse());
    }
  }
}

Fixed version (ground truth):
/** 
 * Add a device under the given gateway using the Java Client Library.
 * @throws IoTFCReSTException
 */
private void addDevice(String deviceType,String deviceId) throws IoTFCReSTException {
  try {
    String deviceToBeAdded="String_Node_Str" + deviceId + "String_Node_Str";
    System.out.println(deviceToBeAdded);
    JsonParser parser=new JsonParser();
    JsonElement input=parser.parse(deviceToBeAdded);
    JsonObject response=this.apiClient.registerDeviceUnderGateway(deviceType,this.mgdGateway.getGWDeviceId(),this.mgdGateway.getGWTypeId(),input);
    System.out.println(response);
  }
 catch (  IoTFCReSTException e) {
    if (e.getHttpCode() != 409) {
      System.out.println("String_Node_Str" + e.getHttpCode() + "String_Node_Str"+ e.getMessage());
      System.out.println(e.getResponse());
    }
  }
}
Program: 34429
Project: 34429
Buggy source:
/** 
 * The RXTX library calls the serialEvent() method when the data is available to  read from the serial port. This is where the Raspberry Pi gets the sensor  readings (the PIR movement sensor and the internal temperature) from Arduino.  Arduino sends the values in the following format, a. The name of the event - Required by Watson IoT Platform followed by space b. comma separated datapoints, for example, temp and pir readings as shown below, "status temp:35.22,pir:0" This method converts the above data into from Arduino Uno into JSON format send it to Watson Iot Platform. 
 */
public void serialEvent(SerialPortEvent oEvent){
  String line=null;
synchronized (this) {
    if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
      try {
        line=input.readLine();
        if (bDisplay)         System.out.println(line);
      }
 catch (      Exception e) {
        System.err.println(e.toString());
      }
    }
  }
  try {
    String[] tokens=line.split("String_Node_Str");
    if (tokens.length != 2) {
      return;
    }
    String eventName=tokens[0];
    JsonElement event=new JsonParser().parse("String_Node_Str" + tokens[1] + "String_Node_Str");
    boolean status=this.gwClient.publishDeviceEvent(this.deviceType,this.deviceId,eventName,event);
    if (status == false) {
      System.err.println("String_Node_Str");
    }
 else {
    }
  }
 catch (  Exception e) {
    System.err.println("String_Node_Str" + e.getMessage());
    e.printStackTrace();
  }
}

Fixed version (ground truth):
/** 
 * The RXTX library calls the serialEvent() method when the data is available to  read from the serial port. This is where the Raspberry Pi gets the sensor  readings (the PIR movement sensor and the internal temperature) from Arduino.  Arduino sends the values in the following format, a. The name of the event - Required by Watson IoT Platform followed by space b. comma separated datapoints, for example, temp and pir readings as shown below, "status temp:35.22,pir:0" This method converts the above data into from Arduino Uno into JSON format send it to Watson Iot Platform. 
 */
public void serialEvent(SerialPortEvent oEvent){
  String line=null;
synchronized (this) {
    if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
      try {
        line=input.readLine();
        if (bDisplay)         System.out.println(line);
      }
 catch (      Exception e) {
        System.err.println(e.toString());
      }
    }
  }
  try {
    String[] tokens=line.split("String_Node_Str");
    if (tokens.length != 2) {
      return;
    }
    String eventName=tokens[0];
    JsonElement event=new JsonParser().parse("String_Node_Str" + tokens[1] + "String_Node_Str");
    boolean status=this.gwClient.publishDeviceEvent(this.deviceType,this.deviceId,eventName,event);
    if (status == false) {
      System.err.println("String_Node_Str");
    }
 else {
    }
  }
 catch (  Exception e) {
    System.err.println("String_Node_Str" + e.getMessage());
  }
}
Program: 34430
Project: 34430
Buggy source:
/** 
 * A sample method to handle the Arduino's reboot request from the DM server. <p>In this case its assumed that the sketch program running in Arduino Uno will reboot when it receives 0 in the serial port.</p> This method just sends a 0 and reinitializes the connection to Arduino Uno.
 */
@Override public void reboot(DeviceAction action){
  sendCommand("String_Node_Str");
  close();
  try {
    Thread.sleep(1000 * 10);
  }
 catch (  InterruptedException ie) {
  }
  this.initialize();
  System.out.println("String_Node_Str");
  try {
    ManagedGateway gateway=((ManagedGateway)this.gwClient);
    gateway.sendDeviceManageRequest(this.deviceType,this.deviceId,0,true,true);
  }
 catch (  MqttException e) {
    e.printStackTrace();
  }
}

Fixed version (ground truth):
/** 
 * A sample method to handle the Arduino's reboot request from the DM server. <p>In this case its assumed that the sketch program running in Arduino Uno will reboot when it receives 0 in the serial port.</p> This method just sends a 0 and reinitializes the connection to Arduino Uno.
 */
@Override public void reboot(DeviceAction action){
  sendCommand("String_Node_Str");
  updateInProgress=true;
  close();
  try {
    Thread.sleep(1000 * 10);
  }
 catch (  InterruptedException ie) {
  }
  this.initialize();
  System.out.println("String_Node_Str");
  try {
    ManagedGateway gateway=((ManagedGateway)this.gwClient);
    gateway.sendDeviceManageRequest(this.deviceType,this.deviceId,0,true,true);
  }
 catch (  MqttException e) {
    e.printStackTrace();
  }
  updateInProgress=false;
}
Program: 34431
Project: 34431
Buggy source:
/** 
 * The Raspberry Pi gateway can send data to Arduino Uno by writing data  on the output stream that we opened earlier:
 */
public void sendCommand(String cmd){
  if (this.output != null) {
    try {
      System.out.println("String_Node_Str" + cmd);
      this.output.write(cmd);
      this.output.write("String_Node_Str");
      this.output.flush();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
  }
}

Fixed version (ground truth):
/** 
 * The Raspberry Pi gateway can send data to Arduino Uno by writing data  on the output stream that we opened earlier:
 */
public void sendCommand(String cmd){
  if (this.output != null && updateInProgress == false) {
    try {
      System.out.println("String_Node_Str" + cmd);
      this.output.write(cmd);
      this.output.write("String_Node_Str");
      this.output.flush();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
  }
}
Program: 34433
Project: 34433
Buggy source:
/** 
 * This method does the following, 1. Iterate through all of the system ports looking for a match for the Arduino Uno,  and then attempts to connect to it.  2. Connnect to the port, configure the communication parameters, like the bit rate, timeout and etc.. 3. Open the input and output streams for communication 4. Add an event listener to receive events from the Arduino,  and tell it to call us back when there's data available
 */
public void initialize(){
  System.setProperty("String_Node_Str","String_Node_Str");
  CommPortIdentifier portId=null;
  Enumeration portEnum=CommPortIdentifier.getPortIdentifiers();
  while (portEnum.hasMoreElements()) {
    CommPortIdentifier currPortId=(CommPortIdentifier)portEnum.nextElement();
    if (currPortId.getName().equals(this.port)) {
      portId=currPortId;
      break;
    }
  }
  if (portId == null) {
    System.out.println("String_Node_Str");
    return;
  }
  try {
    serialPort=(SerialPort)portId.open(this.getClass().getName(),TIME_OUT);
    serialPort.setSerialPortParams(DATA_RATE,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
    input=new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
    output=new BufferedWriter(new OutputStreamWriter(serialPort.getOutputStream()));
    serialPort.addEventListener(this);
    serialPort.notifyOnDataAvailable(true);
  }
 catch (  Exception|Error e) {
    System.err.println(e.toString());
  }
}

Fixed version (ground truth):
/** 
 * This method does the following, 1. Iterate through all of the system ports looking for a match for the Arduino Uno,  and then attempts to connect to it.  2. Connnect to the port, configure the communication parameters, like the bit rate, timeout and etc.. 3. Open the input and output streams for communication 4. Add an event listener to receive events from the Arduino,  and tell it to call us back when there's data available
 */
public boolean initialize(){
  System.setProperty("String_Node_Str","String_Node_Str");
  try {
    CommPortIdentifier portId=null;
    Enumeration portEnum=CommPortIdentifier.getPortIdentifiers();
    while (portEnum.hasMoreElements()) {
      CommPortIdentifier currPortId=(CommPortIdentifier)portEnum.nextElement();
      if (currPortId.getName().equals(this.port)) {
        portId=currPortId;
        break;
      }
    }
    if (portId == null) {
      System.out.println("String_Node_Str");
      return false;
    }
    serialPort=(SerialPort)portId.open(this.getClass().getName(),TIME_OUT);
    serialPort.setSerialPortParams(DATA_RATE,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
    input=new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
    output=new BufferedWriter(new OutputStreamWriter(serialPort.getOutputStream()));
    serialPort.addEventListener(this);
    serialPort.notifyOnDataAvailable(true);
  }
 catch (  Exception|Error e) {
    System.out.println("String_Node_Str" + e.getMessage());
    return false;
  }
  return true;
}
Program: 34434
Project: 34434
Buggy source:
public SootClass instrumentDestination(String destination){
  System.out.println("String_Node_Str" + destination);
  SootClass sc=Scene.v().getSootClass(destination);
  SootField intent_for_ipc=generateIntentFieldForIpc(sc);
  SootField intent_for_ar=generateIntentFieldForActivityResult(sc);
  generateInitMethod(sc,intent_for_ipc);
  generateGetIntentMethod(sc,intent_for_ipc);
  generateGetIntentForActivityResultMethod(sc,intent_for_ar);
  List<SootMethod> sms=sc.getMethods();
  for (  SootMethod sm : sms) {
    instrumentSetIntentARStmt(sm,intent_for_ar);
  }
  generateDummyMainMethod(destination);
  instrumentDummyMainMethod(sc,intent_for_ipc);
  if (isService(sc) && containOnBindMethod(sc)) {
    Type binderType=extractBinderType(sc);
    SootField ibinder_for_ipc=generateFieldForIBinder(sc,binderType);
    generateGetIBinderMethod(sc,ibinder_for_ipc,binderType);
    instrumentOnBindMethod(sc,ibinder_for_ipc);
  }
  for (  SootMethod sm : sc.getMethods())   System.out.println("String_Node_Str" + sm + "String_Node_Str"+ sm.retrieveActiveBody());
  return sc;
}

Fixed version (ground truth):
public SootClass instrumentDestination(String destination){
  System.out.println("String_Node_Str" + destination);
  SootClass sc=Scene.v().getSootClass(destination);
  if (sc.getName().equals("String_Node_Str")) {
    System.out.println("String_Node_Str" + sc);
  }
  SootField intent_for_ipc=generateIntentFieldForIpc(sc);
  SootField intent_for_ar=generateIntentFieldForActivityResult(sc);
  generateInitMethod(sc,intent_for_ipc);
  generateGetIntentMethod(sc,intent_for_ipc);
  generateGetIntentForActivityResultMethod(sc,intent_for_ar);
  List<SootMethod> sms=sc.getMethods();
  for (  SootMethod sm : sms) {
    instrumentSetIntentARStmt(sm,intent_for_ar);
  }
  generateDummyMainMethod(destination);
  instrumentDummyMainMethod(sc,intent_for_ipc);
  if (isService(sc) && containOnBindMethod(sc)) {
    Type binderType=extractBinderType(sc);
    SootField ibinder_for_ipc=generateFieldForIBinder(sc,binderType);
    generateGetIBinderMethod(sc,ibinder_for_ipc,binderType);
    instrumentOnBindMethod(sc,ibinder_for_ipc);
  }
  for (  SootMethod sm : sc.getMethods())   System.out.println("String_Node_Str" + sm + "String_Node_Str"+ sm.retrieveActiveBody());
  return sc;
}
Program: 34440
Project: 34440
Buggy source:
public List<ICCLink> fetchProviderLinks(String[] appNames){
  String params="String_Node_Str";
  String[] paramValues=new String[appNames.length * 2];
  paramValues[0]=paramValues[appNames.length]=appNames[0];
  for (int i=1; i < appNames.length; i++) {
    params+="String_Node_Str";
    paramValues[i]=paramValues[appNames.length + i]=appNames[i];
  }
  String sql="String_Node_Str" + "String_Node_Str" + params + "String_Node_Str"+ params+ "String_Node_Str";
  final String[] names=appNames;
  DBAdapter adapter=new DBAdapter(){
    @Override protected Object processResultSet(    ResultSet rs){
      List<ICCLink> links=new ArrayList<ICCLink>();
      try {
        while (rs.next()) {
          String fromSMString=rs.getString(1);
          int instruction=rs.getInt(2);
          String exitKind=rs.getString(3);
          String destinationC=rs.getString(4);
          List<Integer> instructions=fetchInstructions(fromSMString,names);
          ICCLink link=new ICCLink(fromSMString,instruction,exitKind,destinationC,instructions);
          links.add(link);
        }
      }
 catch (      SQLException e) {
        e.printStackTrace();
      }
      return links;
    }
  }
;
  List<ICCLink> links=null;
  try {
    System.out.println(sql);
    links=(List<ICCLink>)adapter.executeQuery(sql,paramValues,Constants.DB_NAME);
  }
 catch (  SQLException e) {
    e.printStackTrace();
  }
  return links;
}

Fixed version (ground truth):
public List<ICCLink> fetchProviderLinks(String[] appNames){
  String params="String_Node_Str";
  String[] paramValues=new String[appNames.length * 2];
  paramValues[0]=paramValues[appNames.length]=appNames[0];
  for (int i=1; i < appNames.length; i++) {
    params+="String_Node_Str";
    paramValues[i]=paramValues[appNames.length + i]=appNames[i];
  }
  String sql="String_Node_Str" + "String_Node_Str" + params + "String_Node_Str"+ params+ "String_Node_Str";
  final String[] names=appNames;
  DBAdapter adapter=new DBAdapter(){
    @Override protected Object processResultSet(    ResultSet rs){
      List<ICCLink> links=new ArrayList<ICCLink>();
      try {
        while (rs.next()) {
          String fromSMString=rs.getString(1);
          int instruction=rs.getInt(2);
          String exitKind=rs.getString(3);
          String destinationC=rs.getString(4);
          List<Integer> instructions=fetchInstructions(fromSMString,names);
          ICCLink link=new ICCLink(fromSMString,instruction,exitKind,destinationC,instructions);
          if (!UnreasonableLinksRemover.isUnreasonable(link)) {
            links.add(link);
          }
        }
      }
 catch (      SQLException e) {
        e.printStackTrace();
      }
      return links;
    }
  }
;
  List<ICCLink> links=null;
  try {
    System.out.println(sql);
    links=(List<ICCLink>)adapter.executeQuery(sql,paramValues,Constants.DB_NAME);
  }
 catch (  SQLException e) {
    e.printStackTrace();
  }
  return links;
}
Program: 34441
Project: 34441
Buggy source:
private void collectStartTime(MirrorAnimator animator,List<Pair<MirrorObjectAnimator,Long>> output,int startTime){
  if (animator instanceof MirrorAnimatorSet) {
    MirrorAnimatorSet set=(MirrorAnimatorSet)animator;
    int accuTimeBefore=0;
    for (    MirrorAnimator c : set.getChildAnimations()) {
      if (set.getOrdering() == MirrorAnimatorSet.Ordering.Together) {
        collectStartTime(c,output,startTime);
      }
 else {
        collectStartTime(c,output,startTime + accuTimeBefore);
      }
      accuTimeBefore+=c.getStartDelay() + c.getDuration();
    }
  }
 else   if (animator instanceof MirrorObjectAnimator) {
    MirrorObjectAnimator o=(MirrorObjectAnimator)animator;
    output.add(new Pair<>(o,startTime + o.getStartDelay()));
  }
 else {
    throw new IllegalStateException("String_Node_Str" + animator);
  }
}

Fixed version (ground truth):
private void collectStartTime(MirrorAnimator animator,List<Pair<MirrorObjectAnimator,Long>> output,long startTime){
  if (animator instanceof MirrorAnimatorSet) {
    MirrorAnimatorSet set=(MirrorAnimatorSet)animator;
    long accuTimeBeforeMe=set.getStartDelay();
    for (    MirrorAnimator c : set.getChildAnimations()) {
      collectStartTime(c,output,startTime + accuTimeBeforeMe);
      if (set.getOrdering() == MirrorAnimatorSet.Ordering.Sequentially) {
        accuTimeBeforeMe+=c.getStartDelay() + c.getDuration();
      }
    }
  }
 else   if (animator instanceof MirrorObjectAnimator) {
    MirrorObjectAnimator o=(MirrorObjectAnimator)animator;
    output.add(new Pair<>(o,startTime + o.getStartDelay()));
  }
 else {
    throw new IllegalStateException("String_Node_Str" + animator);
  }
}
Program: 34442
Project: 34442
Buggy source:
@Override public long getDuration(){
  return mSet.getDuration();
}

Fixed version (ground truth):
@Override public long getDuration(){
  if (mOrdering == Ordering.Together) {
    return maxDuration(mAnimators);
  }
 else {
    return consecutiveDuration(mAnimators);
  }
}
Program: 34443
Project: 34443
Buggy source:
public Environment setUp(AbstractBuild build,Launcher launcher,BuildListener listener) throws IOException, InterruptedException {
  GolangInstallation installation=getGoInstallation();
  if (installation != null) {
    EnvVars env=build.getEnvironment(listener);
    env.overrideAll(build.getBuildVariables());
    installation=installation.forNode(Computer.currentComputer().getNode(),listener).forEnvironment(env);
  }
  final GolangInstallation install=installation;
  return new Environment(){
    @Override public void buildEnvVars(    Map<String,String> env){
      if (install != null) {
        EnvVars envVars=new EnvVars();
        install.buildEnvVars(envVars);
        env.putAll(envVars);
      }
    }
  }
;
}

Fixed version (ground truth):
@SuppressFBWarnings("String_Node_Str") public Environment setUp(AbstractBuild build,Launcher launcher,BuildListener listener) throws IOException, InterruptedException {
  GolangInstallation installation=getGoInstallation();
  if (installation != null) {
    EnvVars env=build.getEnvironment(listener);
    env.overrideAll(build.getBuildVariables());
    installation=installation.forNode(Computer.currentComputer().getNode(),listener).forEnvironment(env);
  }
  final GolangInstallation install=installation;
  return new Environment(){
    @Override public void buildEnvVars(    Map<String,String> env){
      if (install != null) {
        EnvVars envVars=new EnvVars();
        install.buildEnvVars(envVars);
        env.putAll(envVars);
      }
    }
  }
;
}
Program: 34444
Project: 34444
Buggy source:
public GolangInstallation[] getInstallations(){
  return installations;
}

Fixed version (ground truth):
@SuppressFBWarnings("String_Node_Str") public GolangInstallation[] getInstallations(){
  return installations;
}
Program: 34445
Project: 34445
Buggy source:
@Override public void setInstallations(GolangInstallation... installations){
  Jenkins.getInstance().getDescriptorByType(GolangBuildWrapper.DescriptorImpl.class).setInstallations(installations);
}

Fixed version (ground truth):
@Override public void setInstallations(GolangInstallation... installations){
  Jenkins.getActiveInstance().getDescriptorByType(GolangBuildWrapper.DescriptorImpl.class).setInstallations(installations);
}
Program: 34446
Project: 34446
Buggy source:
@Override public GolangInstallation[] getInstallations(){
  return Jenkins.getInstance().getDescriptorByType(GolangBuildWrapper.DescriptorImpl.class).getInstallations();
}

Fixed version (ground truth):
@Override public GolangInstallation[] getInstallations(){
  return Jenkins.getActiveInstance().getDescriptorByType(GolangBuildWrapper.DescriptorImpl.class).getInstallations();
}
Program: 34447
Project: 34447
Buggy source:
private Installable getInstallable(Node node) throws IOException, InterruptedException {
  GolangRelease release=getConfiguredRelease();
  if (release == null) {
    return null;
  }
  String[] properties=node.getChannel().call(new GetSystemProperties("String_Node_Str","String_Node_Str","String_Node_Str"));
  return getInstallCandidate(release,properties[0],properties[1],properties[2]);
}

Fixed version (ground truth):
@SuppressFBWarnings("String_Node_Str") private Installable getInstallable(Node node) throws IOException, InterruptedException {
  GolangRelease release=getConfiguredRelease();
  if (release == null) {
    return null;
  }
  String[] properties=node.getChannel().call(new GetSystemProperties("String_Node_Str","String_Node_Str","String_Node_Str"));
  return getInstallCandidate(release,properties[0],properties[1],properties[2]);
}
Program: 34448
Project: 34448
Buggy source:
public int compareTo(GolangInstallable o){
  if (osxversion != null && o.osxversion != null) {
    return new VersionNumber(o.osxversion).compareTo(new VersionNumber(osxversion));
  }
  return os.compareTo(o.os);
}

Fixed version (ground truth):
@SuppressFBWarnings("String_Node_Str") public int compareTo(GolangInstallable o){
  if (osxversion != null && o.osxversion != null) {
    return new VersionNumber(o.osxversion).compareTo(new VersionNumber(osxversion));
  }
  return os.compareTo(o.os);
}
Program: 34449
Project: 34449
Buggy source:
public List<GolangRelease> getInstallableReleases(){
  return GolangReleaseList.all().get(GolangReleaseList.class).toList();
}

Fixed version (ground truth):
@SuppressFBWarnings("String_Node_Str") public List<GolangRelease> getInstallableReleases(){
  return GolangReleaseList.all().get(GolangReleaseList.class).toList();
}
Program: 34450
Project: 34450
Buggy source:
public static <A,B>Class<A> resolveType(Model<B> model,Path path){
  PropertyDescription propertyDescription=resolveProperty(model,path);
  if (propertyDescription != null) {
    return (Class<A>)propertyDescription.getClazz();
  }
  return null;
}

Fixed version (ground truth):
public static <A,B>Class<A> resolveType(Model<B> model,Path path){
  if (path.size() == 0) {
    return (Class<A>)model.getLeafType();
  }
  PropertyDescription propertyDescription=resolveProperty(model,path);
  if (propertyDescription != null) {
    return (Class<A>)propertyDescription.getClazz();
  }
  return null;
}
Program: 34451
Project: 34451
Buggy source:
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  Editor editor=context.getEditor();
  ModelDriver<?> driver=context.getDriver();
  MessageHelper messageHelper=driver.getMessageHelper();
  if (messageHelper != null && editor instanceof EditorLabel) {
    EditorLabel editorLabel=(EditorLabel)editor;
    Model<?> model=driver.getModel();
    Class<?> propertyType=model.getLeafType();
    Model<?> propertyModel=ModelUtils.resolveModel(model,context.getPath());
    if (propertyModel != null) {
      propertyType=propertyModel.getLeafType();
    }
    String defaulText=editorLabel.getText();
    String label=defaulText;
    Path path=context.getPath();
    String labelKey=editorLabel.getLabelKey();
    String firstKey=null;
    if (label == null) {
      for (      String suffix : editorLabel.getSuffix()) {
        String key=null;
        if (labelKey == null) {
          key=messageHelper.getMessageKey(path,suffix);
          label=messageHelper.getMessage(propertyType,path,suffix);
        }
 else {
          key=labelKey + suffix;
          label=messageHelper.findMessage(propertyType,key);
        }
        if (firstKey == null) {
          firstKey=key;
        }
        if (label != null) {
          break;
        }
      }
    }
    if (label == null && editorLabel.isLabelMandatory()) {
      label=messageHelper.createDefaultMessage(firstKey);
    }
    if (label != null) {
      editorLabel.setText(label);
    }
  }
  return true;
}

Fixed version (ground truth):
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  Editor editor=context.getEditor();
  ModelDriver<?> driver=context.getDriver();
  MessageHelper messageHelper=driver.getMessageHelper();
  if (messageHelper != null && editor instanceof EditorLabel) {
    EditorLabel editorLabel=(EditorLabel)editor;
    Class<?> parentPropertyType=null;
    Path path=context.getPath();
    Path parentPath=path.subPath(0,path.size() - 1);
    Model<?> model=ModelUtils.resolveModel(driver.getModel(),parentPath);
    if (model instanceof ModelCollection) {
      parentPropertyType=model.getLeafType();
    }
 else {
      parentPropertyType=ModelUtils.resolveType(driver.getModel(),parentPath);
    }
    String defaulText=editorLabel.getText();
    String label=defaulText;
    String labelKey=editorLabel.getLabelKey();
    String firstKey=null;
    if (label == null) {
      for (      String suffix : editorLabel.getSuffix()) {
        String key=null;
        if (labelKey == null) {
          key=messageHelper.getMessageKey(path,suffix);
          label=messageHelper.getMessage(parentPropertyType,path,suffix);
        }
 else {
          key=labelKey + suffix;
          label=messageHelper.findMessage(parentPropertyType,key);
        }
        if (firstKey == null) {
          firstKey=key;
        }
        if (label != null) {
          break;
        }
      }
    }
    if (label == null && editorLabel.isLabelMandatory()) {
      label=messageHelper.createDefaultMessage(firstKey);
    }
    if (label != null) {
      editorLabel.setText(label);
    }
  }
  return true;
}
Program: 34452
Project: 34452
Buggy source:
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  Editor editor=context.getEditor();
  if (editor instanceof HasPlaceholder) {
    ModelDriver<?> driver=context.getDriver();
    MessageHelper messageHelper=driver.getMessageHelper();
    Model<?> model=driver.getModel();
    Class<?> propertyType=ModelUtils.resolveType(model,context.getPath());
    HasPlaceholder hasPlaceholder=(HasPlaceholder)editor;
    String defaulText=hasPlaceholder.getPlaceholder();
    Path path=context.getPath();
    if (messageHelper != null && defaulText == null && path != null) {
      String label=messageHelper.getMessage(propertyType,path,HasPlaceholder.PLACEHOLDER_SUFFIX);
      if (label != null) {
        hasPlaceholder.setPlaceholder(label);
      }
    }
  }
  return true;
}

Fixed version (ground truth):
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  Editor editor=context.getEditor();
  if (editor instanceof HasPlaceholder) {
    ModelDriver<?> driver=context.getDriver();
    MessageHelper messageHelper=driver.getMessageHelper();
    Class<?> parentPropertyType=null;
    Path path=context.getPath();
    Path parentPath=path.subPath(0,path.size() - 1);
    Model<?> model=ModelUtils.resolveModel(driver.getModel(),parentPath);
    if (model instanceof ModelCollection) {
      parentPropertyType=model.getLeafType();
    }
 else {
      parentPropertyType=ModelUtils.resolveType(driver.getModel(),parentPath);
    }
    HasPlaceholder hasPlaceholder=(HasPlaceholder)editor;
    String defaulText=hasPlaceholder.getPlaceholder();
    if (messageHelper != null && defaulText == null && path != null) {
      String label=messageHelper.getMessage(parentPropertyType,path,HasPlaceholder.PLACEHOLDER_SUFFIX);
      if (label != null) {
        hasPlaceholder.setPlaceholder(label);
      }
    }
  }
  return true;
}
Program: 34453
Project: 34453
Buggy source:
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  Editor editor=context.getEditor();
  ModelDriver<?> driver=context.getDriver();
  MessageHelper messageHelper=driver.getMessageHelper();
  if (messageHelper != null && editor instanceof EditorLeaf) {
    Path path=context.getPath();
    Model<?> model=driver.getModel();
    Class<?> propertyType=model.getLeafType();
    Model<?> propertyModel=ModelUtils.resolveModel(model,context.getPath());
    if (propertyModel != null) {
      propertyType=propertyModel.getLeafType();
    }
    String label=messageHelper.getMessage(propertyType,path,EditorLabel.TOOLTIP_SUFFIX);
    if (label != null && editor instanceof EditorInput) {
      EditorFactoryManager.get().createTooltip((IsWidget)editor,label);
    }
  }
  return true;
}

Fixed version (ground truth):
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  Editor editor=context.getEditor();
  ModelDriver<?> driver=context.getDriver();
  MessageHelper messageHelper=driver.getMessageHelper();
  if (messageHelper != null && editor instanceof EditorLeaf) {
    Class<?> parentPropertyType=null;
    Path path=context.getPath();
    Path parentPath=path.subPath(0,path.size() - 1);
    Model<?> model=ModelUtils.resolveModel(driver.getModel(),parentPath);
    if (model instanceof ModelCollection) {
      parentPropertyType=model.getLeafType();
    }
 else {
      parentPropertyType=ModelUtils.resolveType(driver.getModel(),parentPath);
    }
    String label=messageHelper.getMessage(parentPropertyType,path,EditorLabel.TOOLTIP_SUFFIX);
    if (label != null && editor instanceof EditorInput) {
      EditorFactoryManager.get().createTooltip((IsWidget)editor,label);
    }
  }
  return true;
}
Program: 34454
Project: 34454
Buggy source:
@Override public boolean apply(Context<?> input){
  return context.equals(input.getParentContext());
}

Fixed version (ground truth):
@Override public boolean apply(Context<?> context){
  return context.getEditor() == editor;
}
Program: 34455
Project: 34455
Buggy source:
public boolean removeContext(final Context<?> context){
  if (contexts.remove(context)) {
    Iterable<Context<?>> children=Iterables.filter(contexts,new Predicate<Context<?>>(){
      @Override public boolean apply(      Context<?> input){
        return context.equals(input.getParentContext());
      }
    }
);
    for (    Context<?> childContext : children) {
      removeContext(childContext);
    }
    return true;
  }
  return false;
}

Fixed version (ground truth):
public boolean removeContext(final Context<?> context){
  if (contexts.remove(context)) {
    List<Context<?>> children=Lists.newArrayList();
    for (    Context<?> child : contexts) {
      if (context.equals(child.getParentContext())) {
        children.add(context);
      }
    }
    for (    Context<?> childContext : children) {
      removeContext(childContext);
    }
    return true;
  }
  return false;
}
Program: 34456
Project: 34456
Buggy source:
@Override public boolean apply(Context<?> input){
  return context.equals(input.getParentContext());
}

Fixed version (ground truth):
@Override public boolean apply(Context<?> context){
  return context.getEditor() == editor;
}
Program: 34457
Project: 34457
Buggy source:
public boolean removeContext(final Context<?> context){
  if (contexts.remove(context)) {
    Iterable<Context<?>> children=Iterables.filter(contexts,new Predicate<Context<?>>(){
      @Override public boolean apply(      Context<?> input){
        return context.equals(input.getParentContext());
      }
    }
);
    for (    Context<?> childContext : children) {
      removeContext(childContext);
    }
    return true;
  }
  return false;
}

Fixed version (ground truth):
public boolean removeContext(final Context<?> context){
  if (contexts.remove(context)) {
    List<Context<?>> children=Lists.newArrayList();
    for (    Context<?> child : contexts) {
      if (context.equals(child.getParentContext())) {
        children.add(context);
      }
    }
    for (    Context<?> childContext : children) {
      removeContext(childContext);
    }
    return true;
  }
  return false;
}
Program: 34458
Project: 34458
Buggy source:
@Override public boolean equals(Object obj){
  if (obj instanceof Path) {
    Path other=(Path)obj;
    return Objects.equal(elements,other.elements);
  }
  return false;
}

Fixed version (ground truth):
@Override public boolean equals(Object obj){
  if (obj instanceof Path) {
    Path other=(Path)obj;
    return Objects.equal(elements,other.elements);
  }
  return obj == null && isRoot();
}
Program: 34459
Project: 34459
Buggy source:
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  B editor=context.getEditor();
  if (editor instanceof EditorError) {
    Class<?> propertyType=ModelUtils.resolveType(model,context.getPath());
    Path path=context.getPath();
    EditorError editorError=(EditorError)editor;
    editorError.clearErrors();
    List<Error> toDisplay=Lists.newArrayList();
    for (    Error error : errors) {
      if (error.getPath() != null && error.getPath().equals(path)) {
        String messageKey=error.getMessageKey();
        messageKey=fixMessageKey(messageKey);
        String message=messageHelper.findMessage(propertyType,messageKey);
        if (error.getParameters() != null) {
          message=messageHelper.replaceParams(message,error.getParameters());
        }
        SimpleError errorToDisplay=new SimpleError(editorError,message,error.getValue(),error.getParameters());
        toDisplay.add(errorToDisplay);
        error.consume();
      }
    }
    if (!toDisplay.isEmpty() && editorError instanceof HasDrawable) {
      editorError.displayErrors(toDisplay);
      ((HasDrawable)editorError).redraw();
    }
  }
  return true;
}

Fixed version (ground truth):
@Override public <A,B extends Editor>boolean visit(Context<B> context){
  B editor=context.getEditor();
  if (editor instanceof EditorError) {
    Class<?> propertyType=ModelUtils.resolveType(model,context.getPath());
    Path path=context.getPath();
    EditorError editorError=(EditorError)editor;
    editorError.clearErrors();
    List<Error> toDisplay=Lists.newArrayList();
    for (    Error error : errors) {
      if (path.equals(error.getPath())) {
        String messageKey=error.getMessageKey();
        messageKey=fixMessageKey(messageKey);
        String message=messageHelper.findMessage(propertyType,messageKey);
        if (error.getParameters() != null) {
          message=messageHelper.replaceParams(message,error.getParameters());
        }
        if (message == null) {
          message=messageKey;
        }
        SimpleError errorToDisplay=new SimpleError(editorError,message,error.getValue(),error.getParameters());
        toDisplay.add(errorToDisplay);
        error.consume();
      }
    }
    if (!toDisplay.isEmpty() && editorError instanceof HasDrawable) {
      editorError.displayErrors(toDisplay);
      ((HasDrawable)editorError).redraw();
    }
  }
  return true;
}
Program: 34460
Project: 34460
Buggy source:
@Override public void clearErrors(){
  getElement().removeAllChildren();
}

Fixed version (ground truth):
@Override public void clearErrors(){
  this.errors.clear();
  getElement().removeAllChildren();
}
Program: 34461
Project: 34461
Buggy source:
@Override public void displayErrors(Iterable<Error> errors){
  clearErrors();
  for (  Error error : errors) {
    LIElement errorElement=Document.get().createLIElement();
    errorElement.setInnerText(error.getMessageKey());
    this.getElement().appendChild(errorElement);
  }
}

Fixed version (ground truth):
@Override public void displayErrors(Iterable<Error> errors){
  this.errors.clear();
  Iterables.addAll(this.errors,errors);
}
Program: 34462
Project: 34462
Buggy source:
@Override public void displayErrors(Iterable<Error> errors){
  if (error == null) {
    error=new ErrorGroup();
  }
  error.displayErrors(errors);
  StyleUtils.toggleStyle(this,STYLE_ERROR,!Boolean.TRUE.equals(readonly) && error != null && error.hasError());
}

Fixed version (ground truth):
@Override public void displayErrors(Iterable<Error> errors){
  if (error == null) {
    error=new ErrorGroup();
  }
  error.displayErrors(errors);
  error.redraw();
  StyleUtils.toggleStyle(this,STYLE_ERROR,!Boolean.TRUE.equals(readonly) && error != null && error.hasError());
}
Program: 34463
Project: 34463
Buggy source:
public void setText(String text){
  append(new Text(text));
}

Fixed version (ground truth):
public void setText(String text){
  getElement().appendChild(Document.get().createTextNode(HTMLUtils.unescapeHTML(text)));
}
Program: 34464
Project: 34464
Buggy source:
@Override public void edit(String value){
  getElement().removeAllChildren();
  if (value != null) {
    AnchorElement anchor=Document.get().createAnchorElement();
    Icon icon=new Icon();
    icon.setType(IconFont.ICON_MAIL);
    anchor.setHref("String_Node_Str" + value);
    anchor.appendChild(icon.getElement());
    anchor.appendChild(new Text(value).getElement());
    getElement().appendChild(anchor);
  }
}

Fixed version (ground truth):
@Override public void edit(String value){
  getElement().removeAllChildren();
  if (value != null) {
    AnchorElement anchor=Document.get().createAnchorElement();
    Icon icon=new Icon();
    icon.setType(IconFont.ICON_MAIL);
    anchor.setHref("String_Node_Str" + value);
    anchor.appendChild(icon.getElement());
    anchor.appendChild(Document.get().createTextNode(value));
    getElement().appendChild(anchor);
  }
}
Program: 34465
Project: 34465
Buggy source:
public Text(Text source){
  this();
  textElement.setData(source.text);
}

Fixed version (ground truth):
public Text(Text source){
  this();
  span.setInnerText(source.text);
}
Program: 34466
Project: 34466
Buggy source:
@Override public void setText(String text){
  this.text=HTMLUtils.unescapeHTML(text);
  textElement.setData(this.text == null ? "String_Node_Str" : this.text);
}

Fixed version (ground truth):
@Override public void setText(String text){
  this.text=HTMLUtils.unescapeHTML(text);
  span.setInnerText(this.text == null ? "String_Node_Str" : this.text);
}
Program: 34467
Project: 34467
Buggy source:
public void onMouseUp(Event event){
  if (this.dragging) {
    this.dragging=false;
    Event.releaseCapture(InputSlider.this.getElement());
    handleWidget.moveHandleToPosition(getRelativeX(event));
  }
}

Fixed version (ground truth):
public void onMouseUp(Event event){
  if (this.dragging) {
    this.dragging=false;
    Event.releaseCapture(InputSlider.this.getElement());
  }
}
Program: 34468
Project: 34468
Buggy source:
@Override protected void endConstruct(){
  content.add(codeInput);
  content.add(codeOutput);
  setTabIndex(0);
  codeInput.asWidget().setVisible(false);
  compositeFocus=CompositeFocusHelper.createFocusHelper(codeInput,codeInput);
  addFocusHandler(this);
  compositeFocus.addBlurHandler(this);
  StyleUtils.removeStyle(this,STYLE_CONTROL);
  StyleUtils.addStyle(codeInput.asWidget(),STYLE_CONTROL);
  super.endConstruct();
}

Fixed version (ground truth):
@Override protected void endConstruct(){
  content.add(codeOutput);
  setTabIndex(0);
  compositeFocus=CompositeFocusHelper.createFocusHelper(codeInput,codeInput);
  addFocusHandler(this);
  codeOutput.asWidget().addDomHandler(this,ClickEvent.getType());
  compositeFocus.addBlurHandler(this);
  StyleUtils.removeStyle(this,STYLE_CONTROL);
  StyleUtils.addStyle(codeInput.asWidget(),STYLE_CONTROL);
  super.endConstruct();
}
Program: 34469
Project: 34469
Buggy source:
@Override public void onFocus(FocusEvent event){
  codeInput.asWidget().getElement().getStyle().setHeight(codeOutput.asWidget().getElement().getOffsetHeight(),Unit.PX);
  codeInput.asWidget().setVisible(true);
  codeOutput.asWidget().setVisible(false);
  codeInput.setFocus(true);
}

Fixed version (ground truth):
@Override public void onFocus(FocusEvent event){
  showInput();
}
Program: 34470
Project: 34470
Buggy source:
@Override public void onBlur(BlurEvent event){
  codeInput.asWidget().setVisible(false);
  codeOutput.asWidget().setVisible(true);
}

Fixed version (ground truth):
@Override public void onBlur(BlurEvent event){
  hideInput();
}
Program: 34471
Project: 34471
Buggy source:
@Override public boolean isWordPart(char c){
  if (c == '/' || c == '>' || c == ':') {
    return true;
  }
  return CharMatcher.JAVA_LETTER_OR_DIGIT.matches(c);
}

Fixed version (ground truth):
@Override public boolean isWordPart(char c){
  if (c == '/' || c == '>' || c == ':' || c == '.') {
    return true;
  }
  return CharMatcher.JAVA_LETTER_OR_DIGIT.matches(c);
}
Program: 34473
Project: 34473
Buggy source:
@Override public void parseLight(IElementType root,PsiBuilder builder){
  final PsiBuilder.Marker rootMarker=builder.mark();
  if (!builder.eof()) {
    final GLSLParsing theRealParser=new GLSLParsing(builder);
    theRealParser.parseTranslationUnit();
    while (!builder.eof())     builder.advanceLexer();
  }
  rootMarker.done(root);
}

Fixed version (ground truth):
@Override public void parseLight(IElementType root,PsiBuilder builder){
  if (crashing) {
    builder.setDebugMode(true);
  }
  final PsiBuilder.Marker rootMarker=builder.mark();
  if (!builder.eof()) {
    final GLSLParsing theRealParser=new GLSLParsing(builder);
    theRealParser.parseTranslationUnit();
    while (!builder.eof())     builder.advanceLexer();
  }
  rootMarker.done(root);
}
Program: 34474
Project: 34474
Buggy source:
@Override @NotNull public ASTNode parse(IElementType root,PsiBuilder builder){
  parseLight(root,builder);
  return builder.getTreeBuilt();
}

Fixed version (ground truth):
@Override @NotNull public ASTNode parse(@NotNull IElementType root,@NotNull PsiBuilder builder){
  try {
    parseLight(root,builder);
    return builder.getTreeBuilt();
  }
 catch (  ProcessCanceledException|BlockSupport.ReparsedSuccessfullyException ignore) {
    throw ignore;
  }
catch (  Exception ex) {
    crashing=true;
    Logger.getLogger("String_Node_Str").log(Level.WARNING,"String_Node_Str" + root,ex);
    throw ex;
  }
}
Program: 34475
Project: 34475
Buggy source:
private boolean parseOperatorExpression(int level){
  PsiBuilder.Marker mark=b.mark();
  if (!parseOperatorExpressionLevel(level + 1)) {
    mark.drop();
    return false;
  }
  OperatorLevelTraits operatorLevel=operatorPrecedence[level];
  while (tryMatch(operatorLevel.getOperatorTokens())) {
    if (parseOperatorExpressionLevel(level + 1)) {
      mark.done(operatorLevel.getElementType());
      mark=mark.precede();
    }
 else {
      PsiBuilder.Marker operatorMark=b.mark();
      if (tryMatch(OPERATORS)) {
        do {
          operatorMark.error("String_Node_Str");
          if (parseOperatorExpressionLevel(level + 1)) {
            mark.done(operatorLevel.getElementType());
            mark=mark.precede();
            break;
          }
 else {
            operatorMark=b.mark();
          }
        }
 while (tryMatch(OPERATORS));
      }
 else {
        operatorMark.drop();
        mark.error("String_Node_Str" + operatorLevel.getPartName() + "String_Node_Str");
        return false;
      }
    }
  }
  mark.drop();
  return true;
}

Fixed version (ground truth):
private boolean parseOperatorExpression(int level){
  PsiBuilder.Marker mark=b.mark();
  if (!parseOperatorExpressionLevel(level + 1)) {
    mark.drop();
    return false;
  }
  final OperatorLevelTraits operatorLevel=operatorPrecedence[level];
  while (tryMatch(operatorLevel.getOperatorTokens())) {
    if (parseOperatorExpressionLevel(level + 1)) {
      mark.done(operatorLevel.getElementType());
      mark=mark.precede();
    }
 else {
      PsiBuilder.Marker operatorMark=b.mark();
      outOfPlace:       if (tryMatch(OPERATORS)) {
        do {
          operatorMark.error("String_Node_Str");
          if (parseOperatorExpressionLevel(level + 1)) {
            mark.done(operatorLevel.getElementType());
            mark=mark.precede();
            break outOfPlace;
          }
 else {
            operatorMark=b.mark();
          }
        }
 while (tryMatch(OPERATORS));
        operatorMark.drop();
      }
 else {
        operatorMark.drop();
        mark.error("String_Node_Str" + operatorLevel.getPartName() + "String_Node_Str");
        return false;
      }
    }
  }
  mark.drop();
  return true;
}
Program: 34476
Project: 34476
Buggy source:
private boolean parseCaseStatement(){
  PsiBuilder.Marker mark=mark();
  match(CASE_KEYWORD,"String_Node_Str");
  parseConstantExpression();
  match(COLON,"String_Node_Str");
  mark.done(CASE_STATEMENT);
  return true;
}

Fixed version (ground truth):
private boolean parseCaseStatement(){
  PsiBuilder.Marker mark=b.mark();
  match(CASE_KEYWORD,"String_Node_Str");
  parseConstantExpression();
  match(COLON,"String_Node_Str");
  mark.done(CASE_STATEMENT);
  return true;
}
Program: 34477
Project: 34477
Buggy source:
private boolean parseDefaultStatement(){
  PsiBuilder.Marker mark=mark();
  match(DEFAULT_KEYWORD,"String_Node_Str");
  match(COLON,"String_Node_Str");
  mark.done(DEFAULT_STATEMENT);
  return true;
}

Fixed version (ground truth):
private boolean parseDefaultStatement(){
  PsiBuilder.Marker mark=b.mark();
  match(DEFAULT_KEYWORD,"String_Node_Str");
  match(COLON,"String_Node_Str");
  mark.done(DEFAULT_STATEMENT);
  return true;
}
Program: 34478
Project: 34478
Buggy source:
private boolean parseSwitchStatement(){
  PsiBuilder.Marker mark=mark();
  match(SWITCH_KEYWORD,"String_Node_Str");
  match(LEFT_PAREN,"String_Node_Str");
  parseCondition();
  match(RIGHT_PAREN,"String_Node_Str");
  parseCompoundStatement();
  mark.done(SWITCH_STATEMENT);
  return true;
}

Fixed version (ground truth):
private boolean parseSwitchStatement(){
  PsiBuilder.Marker mark=b.mark();
  match(SWITCH_KEYWORD,"String_Node_Str");
  match(LEFT_PAREN,"String_Node_Str");
  parseCondition();
  match(RIGHT_PAREN,"String_Node_Str");
  parseCompoundStatement();
  mark.done(SWITCH_STATEMENT);
  return true;
}
Program: 34479
Project: 34479
Buggy source:
/** 
 * Verifies that the current token is of the given type, if not it will flag an error.
 * @param type  the expected token type.
 * @param error an appropriate error message if any other token is found instead.
 * @return indicates whether the match was successful or not.
 */
protected final boolean match(IElementType type,String error){
  if (isEof()) {
    return false;
  }
  boolean match=tokenType() == type;
  if (match) {
    advanceLexer();
  }
 else {
    error(error);
  }
  return match;
}

Fixed version (ground truth):
/** 
 * Verifies that the current token is of the given type, if not it will flag an error.
 * @param type  the expected token type.
 * @param error an appropriate error message if any other token is found instead.
 * @return indicates whether the match was successful or not.
 */
protected final boolean match(IElementType type,String error){
  final boolean matched=!isEof() && tokenType() == type;
  if (matched) {
    advanceLexer();
  }
 else {
    error(error);
  }
  return matched;
}
Program: 34480
Project: 34480
Buggy source:
public void annotate(GLSLStatement expr,AnnotationHolder holder){
  if (expr instanceof GLSLReturnStatement) {
    GLSLFunctionDefinition function=expr.findParentByClass(GLSLFunctionDefinition.class);
    if (function != null) {
      GLSLType functionType=function.getTypeSpecifierNode().getType();
      GLSLType returnType=((GLSLReturnStatement)expr).getReturnType();
      if (!returnType.isValidType() || !functionType.isConvertibleTo(returnType)) {
        holder.createErrorAnnotation(expr,"String_Node_Str" + functionType.getTypename() + "String_Node_Str"+ returnType.getTypename());
      }
    }
  }
}

Fixed version (ground truth):
public void annotate(GLSLStatement expr,AnnotationHolder holder){
  if (expr instanceof GLSLReturnStatement) {
    GLSLFunctionDefinition function=expr.findParentByClass(GLSLFunctionDefinition.class);
    if (function != null) {
      GLSLType functionType=function.getTypeSpecifierNode().getType();
      GLSLType returnType=((GLSLReturnStatement)expr).getReturnType();
      if (returnType.isValidType() && !functionType.isConvertibleTo(returnType)) {
        holder.createErrorAnnotation(expr,"String_Node_Str" + functionType.getTypename() + "String_Node_Str"+ returnType.getTypename());
      }
    }
  }
}
Program: 34481
Project: 34481
Buggy source:
@Override public <U>ThrowingStream<U,X> mapToObj(ThrowingDoubleFunction<? extends U,? extends X> mapper){
  return ThrowingBridge.of(getDelegate().mapToObj(getBridge().convert(mapper)),getBridge());
}

Fixed version (ground truth):
@Override public <U>ThrowingStream<U,X> mapToObj(ThrowingDoubleFunction<? extends U,? extends X> mapper){
  DoubleFunction<? extends U> f=getBridge().convert(mapper);
  return ThrowingBridge.of(getDelegate().mapToObj(f),getBridge());
}