Program: 13354
Project: 13354
Buggy source:
private URL[] getConnectorURLs(URL... resourceURLs){
  if (null == connectorURLs) {
    Set<URL> _bundleURLs=new HashSet<URL>();
    for (int j=0; j < resourceURLs.length; j++) {
      try {
        URL bundleDirUrl=resourceURLs[j];
        System.out.println("String_Node_Str" + bundleDirUrl);
        TRACE.info("String_Node_Str",bundleDirUrl);
        Vector<URL> urls=null;
        if ("String_Node_Str".equals(bundleDirUrl.getProtocol())) {
          File file=new File(bundleDirUrl.getFile());
          if (file.isDirectory()) {
            FileFilter filter=new FileFilter(){
              @Override public boolean accept(              File f){
                return (f.isDirectory()) || (f.getName().endsWith("String_Node_Str"));
              }
            }
;
            File[] files=file.listFiles(filter);
            urls=new Vector<URL>(files.length);
            for (int i=0; i < files.length; ++i) {
              File subFile=files[i];
              String fname=subFile.getName();
              TRACE.info("String_Node_Str",fname);
              urls.add(new URL(bundleDirUrl,fname));
            }
          }
        }
 else         if (("String_Node_Str".equals(bundleDirUrl.getProtocol())) || ("String_Node_Str".equals(bundleDirUrl.getProtocol()))) {
          urls=getJarFileListing(bundleDirUrl,"String_Node_Str" + DEFAULT_CONNECTORS_LOCATION + "String_Node_Str");
        }
 else {
          TRACE.info("String_Node_Str",bundleDirUrl.getProtocol());
        }
        if ((urls == null) || (urls.size() == 0)) {
          TRACE.info("String_Node_Str",bundleDirUrl);
        }
        if (null != urls) {
          _bundleURLs.addAll(urls);
        }
      }
 catch (      IOException ex) {
        TRACE.error("String_Node_Str",ex);
      }
    }
    if (TRACE.isDebugEnabled()) {
      for (      URL u : _bundleURLs) {
        TRACE.debug("String_Node_Str",u);
      }
    }
    connectorURLs=_bundleURLs.toArray(new URL[0]);
  }
  return connectorURLs;
}

Fixed version (ground truth):
private URL[] getConnectorURLs(URL... resourceURLs){
  if (null == connectorURLs) {
    Set<URL> _bundleURLs=new HashSet<URL>();
    for (int j=0; j < resourceURLs.length; j++) {
      try {
        URL bundleDirUrl=resourceURLs[j];
        TRACE.info("String_Node_Str",bundleDirUrl);
        Vector<URL> urls=null;
        if ("String_Node_Str".equals(bundleDirUrl.getProtocol())) {
          File file=new File(bundleDirUrl.toURI());
          if (file.isDirectory()) {
            FileFilter filter=new FileFilter(){
              @Override public boolean accept(              File f){
                return (f.isDirectory()) || (f.getName().endsWith("String_Node_Str"));
              }
            }
;
            File[] files=file.listFiles(filter);
            urls=new Vector<URL>(files.length);
            for (int i=0; i < files.length; ++i) {
              File subFile=files[i];
              String fname=subFile.getName();
              TRACE.info("String_Node_Str",fname);
              urls.add(new URL(bundleDirUrl,fname));
            }
          }
        }
 else         if (("String_Node_Str".equals(bundleDirUrl.getProtocol())) || ("String_Node_Str".equals(bundleDirUrl.getProtocol()))) {
          urls=getJarFileListing(bundleDirUrl,"String_Node_Str" + DEFAULT_CONNECTORS_LOCATION + "String_Node_Str");
        }
 else {
          TRACE.info("String_Node_Str",bundleDirUrl.getProtocol());
        }
        if ((urls == null) || (urls.size() == 0)) {
          TRACE.info("String_Node_Str",bundleDirUrl);
        }
        if (null != urls) {
          _bundleURLs.addAll(urls);
        }
      }
 catch (      IOException ex) {
        TRACE.error("String_Node_Str",ex);
      }
catch (      URISyntaxException e) {
        TRACE.error("String_Node_Str",e);
      }
    }
    if (TRACE.isDebugEnabled()) {
      for (      URL u : _bundleURLs) {
        TRACE.debug("String_Node_Str",u);
      }
    }
    connectorURLs=_bundleURLs.toArray(new URL[0]);
  }
  return connectorURLs;
}