nus-yam/ex-repair huggingface dataset:
Program: 20798
Project: 20798
Buggy source:
public ArrayList<DownloadLink> decryptIt(CryptedLink param,ProgressController progress) throws Exception {
  progress.getBroadcaster().addListener(this);
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String parameter=param.toString();
  br.getPage(parameter);
  String[] links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   return null;
  progress.setRange(links.length);
  for (  String dl : links) {
    if (abort) {
      progress.setColor(Color.RED);
      progress.setStatusText(progress.getStatusText() + "String_Node_Str" + JDL.L("String_Node_Str","String_Node_Str"));
      progress.doFinalize(5000l);
      return new ArrayList<DownloadLink>();
    }
    br.getPage(dl);
    String goOn=br.getRegex("String_Node_Str").getMatch(0);
    if (goOn == null) {
      goOn=br.getRegex("String_Node_Str").getMatch(0);
      if (goOn == null) {
        goOn=br.getRegex("String_Node_Str").getMatch(1);
      }
    }
    if (goOn == null)     return null;
    goOn="String_Node_Str" + goOn;
    br.getPage(goOn);
    String finallink=br.getRegex("String_Node_Str").getMatch(0);
    if (finallink == null) {
      finallink=br.getRegex("String_Node_Str").getMatch(0);
    }
    if (finallink == null)     return null;
    decryptedLinks.add(createDownloadlink(finallink));
    progress.increase(1);
  }
  return decryptedLinks;
}

Fixed version (ground truth):
public ArrayList<DownloadLink> decryptIt(CryptedLink param,ProgressController progress) throws Exception {
  try {
    progress.getBroadcaster().addListener(this);
  }
 catch (  Throwable e) {
  }
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String parameter=param.toString();
  br.getPage(parameter);
  String[] links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   return null;
  progress.setRange(links.length);
  for (  String dl : links) {
    if (abort) {
      progress.setColor(Color.RED);
      progress.setStatusText(progress.getStatusText() + "String_Node_Str" + JDL.L("String_Node_Str","String_Node_Str"));
      progress.doFinalize(5000l);
      return new ArrayList<DownloadLink>();
    }
    br.getPage(dl);
    String goOn=br.getRegex("String_Node_Str").getMatch(0);
    if (goOn == null) {
      goOn=br.getRegex("String_Node_Str").getMatch(0);
      if (goOn == null) {
        goOn=br.getRegex("String_Node_Str").getMatch(1);
      }
    }
    if (goOn == null)     return null;
    goOn="String_Node_Str" + goOn;
    br.getPage(goOn);
    String finallink=br.getRegex("String_Node_Str").getMatch(0);
    if (finallink == null) {
      finallink=br.getRegex("String_Node_Str").getMatch(0);
    }
    if (finallink == null)     return null;
    decryptedLinks.add(createDownloadlink(finallink));
    progress.increase(1);
  }
  return decryptedLinks;
}
Program: 20802
Project: 20802
Buggy source:
private void handleErrors(DownloadLink link) throws PluginException {
  if (br.containsHTML("String_Node_Str")) {
    link.getLinkStatus().addStatus(LinkStatus.ERROR_IP_BLOCKED);
    link.getLinkStatus().setValue(60 * 1000l);
    return;
  }
  String[] dat=br.getRegex("String_Node_Str").getRow(0);
  if (br.containsHTML("String_Node_Str")) {
    long wait=Long.parseLong(dat[1]) * 60000l + Long.parseLong(dat[2]) * 1000l;
    link.getLinkStatus().addStatus(LinkStatus.ERROR_IP_BLOCKED);
    link.getLinkStatus().setValue(wait);
    return;
  }
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE,JDL.L("String_Node_Str","String_Node_Str"),10 * 60 * 1000l);
}

Fixed version (ground truth):
private void handleErrors(DownloadLink link) throws PluginException {
  if (br.containsHTML("String_Node_Str")) {
    throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,60 * 1000l);
  }
  String[] dat=br.getRegex("String_Node_Str").getRow(0);
  if (br.containsHTML("String_Node_Str")) {
    long wait=Long.parseLong(dat[1]) * 60000l + Long.parseLong(dat[2]) * 1000l;
    throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,wait);
  }
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE,JDL.L("String_Node_Str","String_Node_Str"),10 * 60 * 1000l);
}
Program: 20803
Project: 20803
Buggy source:
@Override public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
  setBrowserExclusive();
  br.setDebug(true);
  br.getHeaders().put("String_Node_Str",UserAgent);
  loadpage(downloadLink.getDownloadURL());
  String fln=br.getRegex("String_Node_Str").getMatch(0);
  String dsize=br.getRegex("String_Node_Str").getMatch(0);
  try {
    renew(br,0);
    if (br.containsHTML("String_Node_Str")) {
      renew(br,1);
    }
    if (br.containsHTML("String_Node_Str"))     throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
    if (br.containsHTML("String_Node_Str")) {
      downloadLink.getLinkStatus().setStatusText(JDL.L("String_Node_Str","String_Node_Str"));
      return AvailableStatus.UNCHECKABLE;
    }
    if (br.containsHTML("String_Node_Str")) {
      downloadLink.getLinkStatus().setStatusText(JDL.L("String_Node_Str","String_Node_Str"));
      return AvailableStatus.UNCHECKABLE;
    }
    if (br.containsHTML("String_Node_Str")) {
      downloadLink.getLinkStatus().setStatusText(JDL.L("String_Node_Str","String_Node_Str"));
      return AvailableStatus.UNCHECKABLE;
    }
    if (br.containsHTML("String_Node_Str"))     throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE,"String_Node_Str",60 * 60 * 1000l);
    if (dsize == null)     dsize=br.getRegex("String_Node_Str").getMatch(0);
    if (fln == null)     fln=br.getRegex("String_Node_Str").getMatch(0);
    if (dsize == null || fln == null)     throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
    String betterfln=br.getRegex("String_Node_Str").getMatch(0);
    if ((fln.endsWith("String_Node_Str") && betterfln != null) || (betterfln != null && betterfln.length() >= fln.length())) {
      fln=betterfln;
    }
    return AvailableStatus.TRUE;
  }
  finally {
    if (dsize != null)     downloadLink.setDownloadSize(Regex.getSize(dsize));
    if (fln != null)     downloadLink.setName(fln.trim());
  }
}

Fixed version (ground truth):
@Override public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
  setBrowserExclusive();
  br.setDebug(true);
  return requestFileInformationInternal(downloadLink);
}
Program: 20804
Project: 20804
Buggy source:
public boolean newDLStartAllowed(){
  if (this.paused || Reconnecter.getInstance().isReconnectInProgress() || this.aborting|| this.aborted|| SubConfiguration.getConfig("String_Node_Str").getBooleanProperty("String_Node_Str",true) && IPController.getInstance().isInvalidated()) {
    return false;
  }
  return true;
}

Fixed version (ground truth):
public boolean newDLStartAllowed(){
  if (this.paused) {
    return false;
  }
  if (Reconnecter.getInstance().isReconnectInProgress()) {
    return false;
  }
  if (this.aborting || this.aborted) {
    return false;
  }
  if (Reconnecter.getInstance().isAutoReconnectEnabled() && SubConfiguration.getConfig("String_Node_Str").getBooleanProperty("String_Node_Str",true) && IPController.getInstance().isInvalidated()) {
    return false;
  }
  return true;
}
Program: 20805
Project: 20805
Buggy source:
private void go(){
  String hoster="String_Node_Str";
  JAntiCaptcha jac=new JAntiCaptcha(hoster);
  File[] list=JDUtilities.getResourceFile("String_Node_Str" + jac.getMethodDirName()).listFiles();
  int id=(int)(Math.random() * (list.length - 1));
  System.out.println("String_Node_Str" + id);
  File f=list[2];
  System.out.println(f + "String_Node_Str");
  jac.showPreparedCaptcha(f);
}

Fixed version (ground truth):
private void go(){
  String hoster="String_Node_Str";
  JAntiCaptcha jac=new JAntiCaptcha(hoster);
  File f=new File("String_Node_Str");
  System.out.println(f + "String_Node_Str");
  System.out.println(jac.checkCaptcha(f));
  System.exit(0);
}
Program: 20806
Project: 20806
Buggy source:
/** 
 * Gibt den erkannten CaptchaText zurück
 * @param captchafile Pfad zum Bild
 * @return CaptchaCode
 */
public String checkCaptcha(File captchafile){
  if (Utilities.isLoggerActive()) {
    logger.finer("String_Node_Str" + captchafile);
  }
  Image captchaImage=Utilities.loadImage(captchafile);
  Captcha captcha=createCaptcha(captchaImage);
  captcha.setCaptchaFile(captchafile);
  return checkCaptcha(captchafile,captcha);
}

Fixed version (ground truth):
/** 
 * Gibt den erkannten CaptchaText zurück
 * @param captchafile Pfad zum Bild
 * @return CaptchaCode
 */
public String checkCaptcha(File captchafile){
  if (Utilities.isLoggerActive()) {
    logger.finer("String_Node_Str" + captchafile);
  }
  Image captchaImage=Utilities.loadImage(captchafile);
  Captcha captcha=createCaptcha(captchaImage);
  if (captcha != null)   captcha.setCaptchaFile(captchafile);
  return checkCaptcha(captchafile,captcha);
}
Program: 20807
Project: 20807
Buggy source:
private String callExtern(){
  try {
    File file=JDUtilities.getResourceFile(this.srcFile);
    file.getParentFile().mkdirs();
    String ext=JDIO.getFileExtension(this.srcFile);
    ImageIO.write((RenderedImage)this.sourceImage,ext,file);
  }
 catch (  IOException e) {
    JDLogger.exception(e);
    return null;
  }
  Executer exec=new Executer(JDUtilities.getResourceFile(this.command).getAbsolutePath());
  exec.setRunin(JDUtilities.getResourceFile(this.command).getParent());
  exec.setWaitTimeout(300);
  exec.start();
  exec.waitTimeout();
  String res=JDIO.readFileToString(JDUtilities.getResourceFile(this.dstFile));
  if (res == null)   return null;
  return res.trim();
}

Fixed version (ground truth):
private String callExtern(){
  try {
    File file=JDUtilities.getResourceFile(this.srcFile);
    file.getParentFile().mkdirs();
    String ext=JDIO.getFileExtension(this.srcFile);
    ImageIO.write(toBufferedImage(this.sourceImage),ext,file);
  }
 catch (  Exception e) {
    JDLogger.exception(e);
    return null;
  }
  Executer exec=new Executer(JDUtilities.getResourceFile(this.command).getAbsolutePath());
  exec.setRunin(JDUtilities.getResourceFile(this.command).getParent());
  exec.setWaitTimeout(300);
  exec.start();
  exec.waitTimeout();
  String res=JDIO.readFileToString(JDUtilities.getResourceFile(this.dstFile));
  if (res == null)   return null;
  return res.trim();
}
Program: 20810
Project: 20810
Buggy source:
@Override public void handleFree(DownloadLink downloadLink) throws Exception, PluginException {
  requestFileInformation(downloadLink);
  String regexedwaittime=br.getRegex("String_Node_Str").getMatch(0);
  int waitThis=30;
  if (regexedwaittime != null)   waitThis=Integer.parseInt(regexedwaittime);
  sleep((waitThis + 2) * 1001l,downloadLink);
  String dllink="String_Node_Str" + new Regex(downloadLink.getDownloadURL(),"String_Node_Str").getMatch(0);
  if (dllink.contains("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,dllink,false,1);
  if (dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    if (br.containsHTML("String_Node_Str")) {
      logger.warning("String_Node_Str");
    }
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}

Fixed version (ground truth):
@Override public void handleFree(DownloadLink downloadLink) throws Exception, PluginException {
  requestFileInformation(downloadLink);
  String regexedwaittime=br.getRegex("String_Node_Str").getMatch(0);
  int waitThis=30;
  if (regexedwaittime != null)   waitThis=Integer.parseInt(regexedwaittime);
  sleep((waitThis + 2) * 1001l,downloadLink);
  String dllink="String_Node_Str" + br.getRegex("String_Node_Str").getMatch(0);
  if (dllink.contains("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,dllink,false,1);
  if (dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    if (br.containsHTML("String_Node_Str")) {
      logger.warning("String_Node_Str");
    }
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}
Program: 20811
Project: 20811
Buggy source:
@Override public AvailableStatus requestFileInformation(DownloadLink parameter) throws Exception {
  this.setBrowserExclusive();
  br.getHeaders().put("String_Node_Str",RandomUserAgent.generate());
  br.getPage(parameter.getDownloadURL());
  if (br.containsHTML("String_Node_Str") || br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String filename=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null) {
    filename=br.getRegex("String_Node_Str").getMatch(0);
    if (filename == null) {
      filename=br.getRegex("String_Node_Str").getMatch(0);
    }
  }
  String filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  parameter.setName(filename.trim());
  if (filesize != null) {
    parameter.setDownloadSize(Regex.getSize(filesize.trim()));
  }
  return AvailableStatus.TRUE;
}

Fixed version (ground truth):
@Override public AvailableStatus requestFileInformation(DownloadLink parameter) throws Exception {
  this.setBrowserExclusive();
  br.getHeaders().put("String_Node_Str",RandomUserAgent.generate());
  br.getPage(parameter.getDownloadURL());
  if (br.containsHTML("String_Node_Str") || !br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String filename=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null) {
    filename=br.getRegex("String_Node_Str").getMatch(0);
    if (filename == null) {
      filename=br.getRegex("String_Node_Str").getMatch(0);
    }
  }
  String filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  parameter.setName(filename.trim());
  if (filesize != null) {
    parameter.setDownloadSize(Regex.getSize(filesize.trim()));
  }
  return AvailableStatus.TRUE;
}
Program: 20812
Project: 20812
Buggy source:
@Override public AvailableStatus requestFileInformation(DownloadLink parameter) throws Exception {
  this.setBrowserExclusive();
  br.getPage(parameter.getDownloadURL());
  if (br.containsHTML("String_Node_Str") || br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String filename=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null) {
    filename=br.getRegex("String_Node_Str").getMatch(0);
  }
  String filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null)   throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  parameter.setName(filename.trim());
  if (filesize != null)   parameter.setDownloadSize(Regex.getSize(filesize));
  return AvailableStatus.TRUE;
}

Fixed version (ground truth):
@Override public AvailableStatus requestFileInformation(DownloadLink parameter) throws Exception {
  this.setBrowserExclusive();
  br.getPage(parameter.getDownloadURL());
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  if (br.containsHTML("String_Node_Str")) {
    throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND,"String_Node_Str");
  }
  String filename=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null)   filename=br.getRegex("String_Node_Str").getMatch(0);
  String filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null)   throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  parameter.setName(filename.trim());
  if (filesize != null)   parameter.setDownloadSize(Regex.getSize(filesize));
  return AvailableStatus.TRUE;
}
Program: 20813
Project: 20813
Buggy source:
public ArrayList<DownloadLink> decryptIt(CryptedLink parameter,ProgressController progress) throws Exception {
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String param=parameter.toString();
  br.setFollowRedirects(true);
  br.getPage(param);
  param=br.getURL();
  br.setFollowRedirects(false);
  String[] worker=param.split("String_Node_Str");
  String code=worker[1].substring(0,3);
  String id=worker[1].substring(3);
  LinkedHashMap<String,String> post=new LinkedHashMap<String,String>();
  post.put("String_Node_Str",code);
  post.put("String_Node_Str",id);
  String rsOrMega=new Regex(param,"String_Node_Str").getMatch(0);
  br.postPage("String_Node_Str" + rsOrMega + "String_Node_Str",post);
  String failedUrl=br.getRegex("String_Node_Str").getMatch(0);
  if (failedUrl != null) {
    decryptedLinks.add(createDownloadlink(failedUrl));
    return decryptedLinks;
  }
  br.getPage("String_Node_Str" + rsOrMega + "String_Node_Str");
  String finalurl=br.getRegex("String_Node_Str").getMatch(0);
  decryptedLinks.add(createDownloadlink(finalurl));
  return decryptedLinks;
}

Fixed version (ground truth):
public ArrayList<DownloadLink> decryptIt(CryptedLink parameter,ProgressController progress) throws Exception {
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String param=parameter.toString();
  br.setFollowRedirects(true);
  br.getPage(param);
  param=br.getURL();
  br.setFollowRedirects(false);
  String[] worker=param.split("String_Node_Str");
  String code=worker[1].substring(0,3);
  String id=worker[1].substring(3);
  LinkedHashMap<String,String> post=new LinkedHashMap<String,String>();
  post.put("String_Node_Str",code);
  post.put("String_Node_Str",id);
  String rsOrMega=new Regex(param,"String_Node_Str").getMatch(0);
  br.postPage("String_Node_Str" + rsOrMega + "String_Node_Str",post);
  String failedUrl=br.getRegex("String_Node_Str").getMatch(0);
  if (failedUrl != null)   throw new DecrypterException(JDL.L("String_Node_Str","String_Node_Str"));
  br.getPage("String_Node_Str" + rsOrMega + "String_Node_Str");
  if (br.getRedirectLocation() != null && br.getRedirectLocation().equals("String_Node_Str"))   throw new DecrypterException(JDL.L("String_Node_Str","String_Node_Str"));
  String finalurl=br.getRegex("String_Node_Str").getMatch(0);
  if (finalurl == null)   return null;
  decryptedLinks.add(createDownloadlink(finalurl));
  return decryptedLinks;
}
Program: 20816
Project: 20816
Buggy source:
public void run(){
  while (!isDone) {
    WatchKey signalledKey;
    try {
      signalledKey=watchService.take();
    }
 catch (    InterruptedException ix) {
      continue;
    }
catch (    ClosedWatchServiceException cwse) {
      System.out.println("String_Node_Str");
      break;
    }
    List<WatchEvent<?>> list=signalledKey.pollEvents();
    signalledKey.reset();
    for (    WatchEvent<?> e : list) {
      String message="String_Node_Str";
      if (e.kind() == StandardWatchEventKind.ENTRY_CREATE) {
        Path context=(Path)e.context();
        String filename=context.toString();
        message=filename + "String_Node_Str";
        if (isContainer(filename)) {
          String absPath=folder + "String_Node_Str" + filename;
          String md5Hash=importContainer(absPath);
          history.add(new FolderWatchHistoryEntry(filename,absPath,md5Hash));
          subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_HISTORY,history);
          subConfig.save();
        }
      }
 else       if (e.kind() == StandardWatchEventKind.ENTRY_DELETE) {
        Path context=(Path)e.context();
        message=context.toString() + "String_Node_Str";
      }
 else       if (e.kind() == StandardWatchEventKind.OVERFLOW) {
        message="String_Node_Str";
      }
      System.out.println(message);
    }
  }
}

Fixed version (ground truth):
public void run(){
  while (!isDone) {
    WatchKey signalledKey;
    try {
      signalledKey=watchService.take();
    }
 catch (    InterruptedException ix) {
      continue;
    }
catch (    ClosedWatchServiceException cwse) {
      System.out.println("String_Node_Str");
      break;
    }
    List<WatchEvent<?>> list=signalledKey.pollEvents();
    signalledKey.reset();
    for (    WatchEvent<?> e : list) {
      String message="String_Node_Str";
      if (e.kind() == StandardWatchEventKind.ENTRY_CREATE) {
        Path context=(Path)e.context();
        String filename=context.toString();
        message=filename + "String_Node_Str";
        if (isContainer(filename)) {
          String absPath=folder + "String_Node_Str" + filename;
          String md5Hash=importContainer(absPath);
          history.add(new FolderWatchHistoryEntry(filename,absPath,md5Hash));
          subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_HISTORY,history);
          subConfig.save();
        }
      }
 else       if (e.kind() == StandardWatchEventKind.ENTRY_DELETE) {
        Path context=(Path)e.context();
        history.updateEntries();
        subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_HISTORY,history);
        subConfig.save();
        message=context.toString() + "String_Node_Str";
      }
 else       if (e.kind() == StandardWatchEventKind.OVERFLOW) {
        message="String_Node_Str";
      }
      System.out.println(message);
    }
  }
}
Program: 20817
Project: 20817
Buggy source:
@Override public void actionPerformed(ActionEvent e){
  if (e.getID() == 0) {
    try {
      subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_ENABLED,toggleAction.isSelected());
      subConfig.save();
    }
 catch (    Exception ex) {
      JDLogger.exception(ex);
    }
    startWatching(isEnabled);
  }
 else   if (e.getID() == 1) {
    if (showGuiAction.isSelected()) {
      showGui();
    }
 else {
      view.close();
    }
  }
}

Fixed version (ground truth):
@Override public void actionPerformed(ActionEvent e){
  if (e.getID() == 0) {
    try {
      subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_ENABLED,toggleAction.isSelected());
      subConfig.save();
    }
 catch (    Exception ex) {
      JDLogger.exception(ex);
    }
    startWatching(isEnabled);
  }
 else   if (e.getID() == 1) {
    if (showGuiAction.isSelected())     showGui();
 else     view.close();
  }
}
Program: 20818
Project: 20818
Buggy source:
private void deleteContainer(File container){
  if (isContainer(container)) {
    container.delete();
  }
}

Fixed version (ground truth):
private void deleteContainer(File container){
  if (isContainer(container))   container.delete();
}
Program: 20819
Project: 20819
Buggy source:
public void updateEntries(){
  ArrayList<FolderWatchHistoryEntry> entries=this;
  boolean value;
  for (  FolderWatchHistoryEntry entry : entries) {
    value=isFileExisting(entry.getAbsolutePath());
    entry.setPhysical(value);
  }
}

Fixed version (ground truth):
public void updateEntries(){
  ArrayList<FolderWatchHistoryEntry> entries=this;
  boolean value;
  for (  FolderWatchHistoryEntry entry : entries) {
    if (entry.isPhysical()) {
      value=isFileExisting(entry.getAbsolutePath());
      entry.setPhysical(value);
    }
  }
}
Program: 20820
Project: 20820
Buggy source:
public FolderWatchHistoryEntry(String basename,String absolutePath,String md5Hash){
  set(basename,absolutePath,md5Hash,true);
}

Fixed version (ground truth):
public FolderWatchHistoryEntry(String filename,String absolutePath,String md5Hash){
  set(filename,absolutePath,md5Hash,true);
}
Program: 20821
Project: 20821
Buggy source:
public void set(String basename,String absolutePath,String md5Hash,boolean isPhysical){
  this.setBasename(basename);
  this.setAbsolutePath(absolutePath);
  this.setMd5Hash(md5Hash);
  this.setImportDate();
  this.setPhysical(isPhysical);
}

Fixed version (ground truth):
public void set(String filename,String absolutePath,String md5Hash,boolean isPhysical){
  this.setFilename(filename);
  this.setAbsolutePath(absolutePath);
  this.setMd5Hash(md5Hash);
  this.setImportDate();
  this.setPhysical(isPhysical);
}
Program: 20822
Project: 20822
Buggy source:
private static Table createTable(Table table){
  tables.add(table);
  return table;
}

Fixed version (ground truth):
public static Table createTable(Table table){
  tables.add(table);
  return table;
}
Program: 20824
Project: 20824
Buggy source:
public void initCmdTable(){
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
}

Fixed version (ground truth):
public void initCmdTable(){
  Table t=HelpPage.createTable(new Table(this.getHost()));
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
}
Program: 20825
Project: 20825
Buggy source:
public Object handleRemoteCmd(String cmd){
  if (cmd.matches("String_Node_Str")) {
    for (    File script : getScripts()) {
      Element element=xmlDocument.createElement("String_Node_Str");
      xmlDocument.getFirstChild().appendChild(element);
      element.setAttribute("String_Node_Str",script.getName().split("String_Node_Str")[0]);
      element=xmlDocument.createElement("String_Node_Str");
      xmlDocument.getFirstChild().appendChild(element);
      element.setTextContent(script.getAbsolutePath());
      return xmlDocument;
    }
  }
 else   if (cmd.matches("String_Node_Str")) {
    String scriptname=new Regex(cmd,"String_Node_Str").getMatch(0);
    if (launch(scriptname)) {
      return "String_Node_Str" + scriptname + "String_Node_Str";
    }
 else {
      return "String_Node_Str" + scriptname + "String_Node_Str";
    }
  }
  return null;
}

Fixed version (ground truth):
public Object handleRemoteCmd(String cmd){
  Document xmlDocument=JDUtilities.parseXmlString("String_Node_Str",false);
  if (cmd.matches("String_Node_Str")) {
    for (    File script : getScripts()) {
      Element element=xmlDocument.createElement("String_Node_Str");
      xmlDocument.getFirstChild().appendChild(element);
      element.setAttribute("String_Node_Str",script.getName().split("String_Node_Str")[0]);
      element=xmlDocument.createElement("String_Node_Str");
      xmlDocument.getFirstChild().appendChild(element);
      element.setTextContent(script.getAbsolutePath());
      return xmlDocument;
    }
  }
 else   if (cmd.matches("String_Node_Str")) {
    String scriptname=new Regex(cmd,"String_Node_Str").getMatch(0);
    if (launch(scriptname)) {
      return "String_Node_Str" + scriptname + "String_Node_Str";
    }
 else {
      return "String_Node_Str" + scriptname + "String_Node_Str";
    }
  }
  return null;
}
Program: 20826
Project: 20826
Buggy source:
private boolean startWatching(boolean value){
  if (isEnabled)   if (folder != null && (folder.equals("String_Node_Str") == false)) {
    watchingServiceThread=new WatchServiceThread(folder);
    watchingServiceThread.start();
    return true;
  }
 else {
    if (watchingServiceThread.isAlive()) {
      watchingServiceThread.done();
    }
    watchingServiceThread=null;
  }
  return false;
}

Fixed version (ground truth):
private boolean startWatching(boolean param){
  if (param == true) {
    if (folder != null && !folder.equals("String_Node_Str")) {
      watchingServiceThread=new WatchServiceThread(folder);
      watchingServiceThread.start();
    }
    return true;
  }
 else {
    if (watchingServiceThread.isAlive()) {
      watchingServiceThread.done();
    }
    watchingServiceThread=null;
  }
  return false;
}
Program: 20827
Project: 20827
Buggy source:
public void initCmdTable(){
  Table t=HelpPage.createTable(new Table(this.getHost()));
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
}

Fixed version (ground truth):
public void initCmdTable(){
  Table t=HelpPage.createTable(new Table(this.getHost()));
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
  t.setCommand("String_Node_Str");
  t.setInfo("String_Node_Str");
}
Program: 20828
Project: 20828
Buggy source:
@Override public void actionPerformed(ActionEvent e){
  if (e.getID() == 0) {
    try {
      subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_ENABLED,toggleAction.isSelected());
      subConfig.save();
    }
 catch (    Exception ex) {
      JDLogger.exception(ex);
    }
    startWatching(isEnabled);
  }
 else   if (e.getID() == 1) {
    if (showGuiAction.isSelected())     showGui();
 else     view.close();
  }
}

Fixed version (ground truth):
@Override public void actionPerformed(ActionEvent e){
  if (e.getID() == 0) {
    try {
      subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_ENABLED,toggleAction.isSelected());
      subConfig.save();
    }
 catch (    Exception ex) {
      JDLogger.exception(ex);
    }
    startWatching(toggleAction.isSelected());
  }
 else   if (e.getID() == 1) {
    if (showGuiAction.isSelected())     showGui();
 else     view.close();
  }
}
Program: 20829
Project: 20829
Buggy source:
public Object handleRemoteCmd(String cmd){
  return null;
}

Fixed version (ground truth):
public Object handleRemoteCmd(String cmd){
  if (cmd.matches("String_Node_Str")) {
    toggleAction.setSelected(true);
    subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_ENABLED,true);
    subConfig.save();
    startWatching(true);
    return "String_Node_Str";
  }
 else   if (cmd.matches("String_Node_Str")) {
    toggleAction.setSelected(false);
    subConfig.setProperty(FolderWatchConstants.CONFIG_KEY_ENABLED,false);
    subConfig.save();
    startWatching(false);
    return "String_Node_Str";
  }
 else   if (cmd.matches("String_Node_Str")) {
    String folder=new Regex(cmd,"String_Node_Str").getMatch(0);
    watchingServiceThread.register(folder);
    return folder + "String_Node_Str";
  }
  return null;
}
Program: 20831
Project: 20831
Buggy source:
public void handleFree(DownloadLink link) throws Exception {
  if (!link.getDownloadURL().contains("String_Node_Str"))   requestFileInformation(link);
 else {
    String fileid=new Regex(link.getDownloadURL(),"String_Node_Str").getMatch(0);
    if (fileid != null)     br.getPage("String_Node_Str" + fileid);
  }
  dl=jd.plugins.BrowserAdapter.openDownload(br,link,link.getDownloadURL(),true,0);
  if (dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}

Fixed version (ground truth):
public void handleFree(DownloadLink link) throws Exception {
  if (!link.getDownloadURL().contains("String_Node_Str") && !link.getDownloadURL().contains("String_Node_Str"))   requestFileInformation(link);
 else {
    String fileid=new Regex(link.getDownloadURL(),"String_Node_Str").getMatch(0);
    if (fileid != null)     br.getPage("String_Node_Str" + fileid);
 else {
      br.getPage(link.getBrowserUrl());
    }
  }
  dl=jd.plugins.BrowserAdapter.openDownload(br,link,link.getDownloadURL(),true,0);
  if (dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}
Program: 20835
Project: 20835
Buggy source:
public void handleFree(DownloadLink link) throws Exception {
  if (!link.getDownloadURL().contains("String_Node_Str") && !link.getDownloadURL().contains("String_Node_Str"))   requestFileInformation(link);
 else {
    String fileid=new Regex(link.getDownloadURL(),"String_Node_Str").getMatch(0);
    if (fileid != null)     br.getPage("String_Node_Str" + fileid);
 else {
      br.getPage(link.getBrowserUrl());
    }
  }
  dl=jd.plugins.BrowserAdapter.openDownload(br,link,link.getDownloadURL(),true,0);
  if (dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}

Fixed version (ground truth):
public void handleFree(DownloadLink link) throws Exception {
  if (!link.getDownloadURL().contains("String_Node_Str") && !link.getDownloadURL().contains("String_Node_Str"))   requestFileInformation(link);
 else {
    String fileid=new Regex(link.getDownloadURL(),"String_Node_Str").getMatch(0);
    if (fileid != null)     br.getPage("String_Node_Str" + fileid);
 else {
      br.getPage(link.getBrowserUrl());
    }
  }
  if (link.getDownloadURL().endsWith("String_Node_Str"))   dl=jd.plugins.BrowserAdapter.openDownload(br,link,link.getDownloadURL(),true,0);
 else   dl=jd.plugins.BrowserAdapter.openDownload(br,link,link.getDownloadURL());
  if (dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}
Program: 20836
Project: 20836
Buggy source:
public void login(Account account) throws Exception {
  this.setBrowserExclusive();
  br.setFollowRedirects(false);
  br.getPage("String_Node_Str");
  br.postPage("String_Node_Str","String_Node_Str" + Encoding.urlEncode(account.getUser()) + "String_Node_Str"+ Encoding.urlEncode(account.getPass()));
  String premCookie=br.getCookie("String_Node_Str","String_Node_Str");
  if (premCookie == null || !premCookie.equalsIgnoreCase("String_Node_Str")) {
    throw new PluginException(LinkStatus.ERROR_PREMIUM,PluginException.VALUE_ID_PREMIUM_DISABLE);
  }
}

Fixed version (ground truth):
public void login(Account account) throws Exception {
  this.setBrowserExclusive();
  br.setFollowRedirects(false);
  br.getPage("String_Node_Str");
  br.getPage("String_Node_Str");
  br.postPage("String_Node_Str","String_Node_Str" + Encoding.urlEncode(account.getUser()) + "String_Node_Str"+ Encoding.urlEncode(account.getPass()));
  String premCookie=br.getCookie("String_Node_Str","String_Node_Str");
  if (premCookie == null || !premCookie.equalsIgnoreCase("String_Node_Str")) {
    throw new PluginException(LinkStatus.ERROR_PREMIUM,PluginException.VALUE_ID_PREMIUM_DISABLE);
  }
}
Program: 20840
Project: 20840
Buggy source:
@Override public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
  this.setBrowserExclusive();
  URLConnectionAdapter con=br.openGetConnection(DLLINKPART + link.getStringProperty("String_Node_Str"));
  if (con.getContentType().contains("String_Node_Str")) {
    throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  }
 else {
    link.setName(getFileNameFromHeader(con));
    link.setDownloadSize(con.getContentLength());
    return AvailableStatus.TRUE;
  }
}

Fixed version (ground truth):
@Override public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
  this.setBrowserExclusive();
  String liveDriveUrlUserPart=new Regex(link.getDownloadURL(),"String_Node_Str").getMatch(0);
  liveDriveUrlUserPart=liveDriveUrlUserPart.replaceAll("String_Node_Str","String_Node_Str");
  DLLINKPART="String_Node_Str" + liveDriveUrlUserPart + "String_Node_Str";
  URLConnectionAdapter con=br.openGetConnection(DLLINKPART + link.getStringProperty("String_Node_Str"));
  if (con.getContentType().contains("String_Node_Str")) {
    throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  }
 else {
    link.setName(getFileNameFromHeader(con));
    link.setDownloadSize(con.getContentLength());
    return AvailableStatus.TRUE;
  }
}
Program: 20843
Project: 20843
Buggy source:
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
  br.clearCookies(getHost());
  br.setCookie("String_Node_Str","String_Node_Str","String_Node_Str");
  String url=downloadLink.getDownloadURL();
  br.getPage(url);
  downloadLink.setName(Plugin.extractFileNameFromURL(url).replaceAll("String_Node_Str","String_Node_Str"));
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  return AvailableStatus.TRUE;
}

Fixed version (ground truth):
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
  br.clearCookies(getHost());
  br.setCookie("String_Node_Str","String_Node_Str","String_Node_Str");
  String url=downloadLink.getDownloadURL();
  br.getPage(url);
  downloadLink.setName(Plugin.extractFileNameFromURL(url).replaceAll("String_Node_Str","String_Node_Str"));
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filesize == null)   filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filesize != null)   downloadLink.setDownloadSize(Regex.getSize(filesize));
  return AvailableStatus.TRUE;
}
Program: 20844
Project: 20844
Buggy source:
@Override public void handleFree(DownloadLink downloadLink) throws Exception {
  this.setBrowserExclusive();
  prepareBrowser(downloadLink);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,getURL(),false,1);
  if (!(dl.getConnection().isContentDisposition())) {
    br.followConnection();
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}

Fixed version (ground truth):
@Override public void handleFree(DownloadLink downloadLink) throws Exception {
  this.setBrowserExclusive();
  prepareBrowser(downloadLink);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,getURL(),false,1);
  dl.setFilenameFix(true);
  if (!(dl.getConnection().isContentDisposition())) {
    br.followConnection();
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  dl.startDownload();
}
Program: 20845
Project: 20845
Buggy source:
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, InterruptedException, PluginException {
  this.setBrowserExclusive();
  br.getHeaders().put("String_Node_Str","String_Node_Str");
  br.getPage(downloadLink.getDownloadURL());
  if (br.containsHTML("String_Node_Str") || br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String name=br.getRegex(Pattern.compile("String_Node_Str")).getMatch(0);
  if (name == null)   name=br.getRegex(Pattern.compile("String_Node_Str")).getMatch(0);
  if (name == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String md5Hash=br.getRegex(Pattern.compile("String_Node_Str",Pattern.DOTALL)).getMatch(0);
  if (md5Hash == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String fileSize=br.getRegex(Pattern.compile("String_Node_Str",Pattern.DOTALL)).getMatch(0);
  if (fileSize == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  fileSize=fileSize.replaceAll("String_Node_Str","String_Node_Str");
  fileSize=fileSize.replaceAll("String_Node_Str","String_Node_Str");
  fileSize=fileSize.replaceAll("String_Node_Str","String_Node_Str");
  fileSize=fileSize + "String_Node_Str";
  downloadLink.setMD5Hash(md5Hash.trim());
  downloadLink.setName(name.trim());
  downloadLink.setDownloadSize(Regex.getSize(fileSize));
  return AvailableStatus.TRUE;
}

Fixed version (ground truth):
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, InterruptedException, PluginException {
  this.setBrowserExclusive();
  br.getHeaders().put("String_Node_Str","String_Node_Str");
  br.getPage(downloadLink.getDownloadURL());
  if (br.containsHTML("String_Node_Str") || br.containsHTML("String_Node_Str") || br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String name=br.getRegex(Pattern.compile("String_Node_Str")).getMatch(0);
  if (name == null)   name=br.getRegex(Pattern.compile("String_Node_Str")).getMatch(0);
  if (name == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String md5Hash=br.getRegex(Pattern.compile("String_Node_Str",Pattern.DOTALL)).getMatch(0);
  if (md5Hash == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String fileSize=br.getRegex(Pattern.compile("String_Node_Str",Pattern.DOTALL)).getMatch(0);
  if (fileSize == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  fileSize=fileSize.replaceAll("String_Node_Str","String_Node_Str");
  fileSize=fileSize.replaceAll("String_Node_Str","String_Node_Str");
  fileSize=fileSize.replaceAll("String_Node_Str","String_Node_Str");
  fileSize=fileSize + "String_Node_Str";
  downloadLink.setMD5Hash(md5Hash.trim());
  downloadLink.setName(name.trim());
  downloadLink.setDownloadSize(Regex.getSize(fileSize));
  return AvailableStatus.TRUE;
}
Program: 20846
Project: 20846
Buggy source:
@Override public void handleFree(DownloadLink downloadLink) throws Exception {
  requestFileInformation(downloadLink);
  br.setFollowRedirects(true);
  br.getPage(downloadLink.getDownloadURL());
  handleFree0(downloadLink);
}

Fixed version (ground truth):
@Override public void handleFree(DownloadLink downloadLink) throws Exception {
  requestFileInformation(downloadLink);
  if (!downloadLink.isAvailable()) {
    throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  }
  br.setFollowRedirects(true);
  br.getPage(downloadLink.getDownloadURL());
  handleFree0(downloadLink);
}
Program: 20847
Project: 20847
Buggy source:
public static String findError(Browser br){
  String error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE).getMatch(0);
  if (error == null || error.trim().length() == 0) {
    error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE_3).getMatch(0);
  }
  if (error == null || error.trim().length() == 0) {
    error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE_2).getMatch(0);
  }
  if (error == null || error.trim().length() == 0) {
    error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE_1).getMatch(0);
  }
  error=Encoding.htmlDecode(error);
  String[] er=Regex.getLines(error);
  if (er == null || er.length == 0)   return null;
  er[0]=HTMLEntities.unhtmlentities(er[0]);
  if (er[0] == null || er[0].length() == 0)   return null;
  return er[0];
}

Fixed version (ground truth):
public static String findError(Browser br){
  String error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE).getMatch(0);
  if (error == null || Encoding.htmlDecode(error).trim().length() < 3) {
    error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE_3).getMatch(0);
  }
  if (error == null || Encoding.htmlDecode(error).trim().length() < 3) {
    error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE_2).getMatch(0);
  }
  if (error == null || Encoding.htmlDecode(error).trim().length() < 3) {
    error=br.getRegex(PATTERN_FIND_ERROR_MESSAGE_1).getMatch(0);
  }
  error=Encoding.htmlDecode(error);
  String[] er=Regex.getLines(error);
  if (er == null || er.length == 0)   return null;
  er[0]=HTMLEntities.unhtmlentities(er[0]);
  if (er[0] == null || er[0].length() == 0)   return null;
  return er[0];
}
Program: 20849
Project: 20849
Buggy source:
public ArrayList<DownloadLink> decryptIt(CryptedLink param,ProgressController progress) throws Exception {
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String parameter=param.toString();
  br.setFollowRedirects(false);
  br.getPage(parameter);
  if (br.getRedirectLocation() != null && br.getRedirectLocation().contains("String_Node_Str"))   throw new DecrypterException(JDL.L("String_Node_Str","String_Node_Str"));
  if (br.getRedirectLocation() != null)   br.getPage(br.getRedirectLocation());
  String[] links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   return null;
  for (  String finallink : links)   decryptedLinks.add(createDownloadlink("String_Node_Str" + finallink));
  return decryptedLinks;
}

Fixed version (ground truth):
public ArrayList<DownloadLink> decryptIt(CryptedLink param,ProgressController progress) throws Exception {
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String parameter=param.toString();
  br.setFollowRedirects(false);
  br.getPage(parameter);
  if (br.getRedirectLocation() != null && br.getRedirectLocation().contains("String_Node_Str"))   throw new DecrypterException(JDL.L("String_Node_Str","String_Node_Str"));
  if (br.getRedirectLocation() != null)   br.getPage(br.getRedirectLocation());
  if (br.containsHTML("String_Node_Str"))   throw new DecrypterException(JDL.L("String_Node_Str","String_Node_Str"));
  String[] links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   links=br.getRegex("String_Node_Str").getColumn(0);
  if (links == null || links.length == 0)   return null;
  for (  String finallink : links)   decryptedLinks.add(createDownloadlink("String_Node_Str" + finallink));
  return decryptedLinks;
}
Program: 20851
Project: 20851
Buggy source:
@Override public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
  this.setBrowserExclusive();
  br.setCookie("String_Node_Str","String_Node_Str","String_Node_Str");
  br.getPage(downloadLink.getDownloadURL());
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String filename=Encoding.htmlDecode(br.getRegex("String_Node_Str").getMatch(0));
  String filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null || filesize == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  downloadLink.setName(filename.trim());
  downloadLink.setDownloadSize(Regex.getSize(filesize));
  return AvailableStatus.TRUE;
}

Fixed version (ground truth):
@Override public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
  this.setBrowserExclusive();
  br.setCookie("String_Node_Str","String_Node_Str","String_Node_Str");
  br.getPage(downloadLink.getDownloadURL());
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  String filename=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null)   filename=br.getRegex("String_Node_Str").getMatch(0);
  String filesize=br.getRegex("String_Node_Str").getMatch(0);
  if (filename == null || filesize == null)   throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
  downloadLink.setName(filename.trim());
  downloadLink.setDownloadSize(Regex.getSize(filesize));
  return AvailableStatus.TRUE;
}