Program: 30453
Project: 30453
Buggy source:
/** 
 * Add a repository to our internal array only.
 * @param repository The new repository
 * @exception IllegalArgumentException if the manifest of a JAR filecannot be processed correctly
 */
protected void addRepositoryInternal(String repository){
  URLStreamHandler streamHandler=null;
  String protocol=parseProtocol(repository);
  if (factory != null)   streamHandler=factory.createURLStreamHandler(protocol);
  if (!repository.endsWith(File.separator) && !repository.endsWith("String_Node_Str")) {
    JarFile jarFile=null;
    try {
      Manifest manifest=null;
      if (repository.startsWith("String_Node_Str")) {
        URL url=new URL(null,repository,streamHandler);
        JarURLConnection conn=(JarURLConnection)url.openConnection();
        conn.setAllowUserInteraction(false);
        conn.setDoInput(true);
        conn.setDoOutput(false);
        conn.connect();
        jarFile=conn.getJarFile();
      }
 else       if (repository.startsWith("String_Node_Str")) {
        jarFile=new JarFile(repository.substring(7));
      }
 else       if (repository.startsWith("String_Node_Str")) {
        jarFile=new JarFile(repository.substring(5));
      }
 else       if (repository.endsWith("String_Node_Str")) {
        URL url=new URL(null,repository,streamHandler);
        URLConnection conn=url.openConnection();
        JarInputStream jis=new JarInputStream(conn.getInputStream());
        try {
          manifest=jis.getManifest();
        }
  finally {
          try {
            jis.close();
          }
 catch (          Throwable t) {
          }
        }
      }
 else {
        throw new IllegalArgumentException("String_Node_Str" + repository + "String_Node_Str");
      }
    }
 catch (    Throwable t) {
      IllegalArgumentException iae=new IllegalArgumentException("String_Node_Str");
      iae.initCause(t);
      throw iae;
    }
 finally {
      if (jarFile != null) {
        try {
          jarFile.close();
        }
 catch (        Throwable t) {
        }
      }
    }
  }
  repositories.add(repository);
}

Fixed version (ground truth):
/** 
 * Add a repository to our internal array only.
 * @param repository The new repository
 * @exception IllegalArgumentException if the manifest of a JAR filecannot be processed correctly
 */
protected void addRepositoryInternal(String repository){
  URLStreamHandler streamHandler=null;
  String protocol=parseProtocol(repository);
  if (factory != null)   streamHandler=factory.createURLStreamHandler(protocol);
  if (!repository.endsWith(File.separator) && !repository.endsWith("String_Node_Str")) {
    JarFile jarFile=null;
    try {
      if (repository.startsWith("String_Node_Str")) {
        URL url=new URL(null,repository,streamHandler);
        JarURLConnection conn=(JarURLConnection)url.openConnection();
        conn.setAllowUserInteraction(false);
        conn.setDoInput(true);
        conn.setDoOutput(false);
        conn.connect();
        jarFile=conn.getJarFile();
      }
 else       if (repository.startsWith("String_Node_Str")) {
        jarFile=new JarFile(repository.substring(7));
      }
 else       if (repository.startsWith("String_Node_Str")) {
        jarFile=new JarFile(repository.substring(5));
      }
 else       if (repository.endsWith("String_Node_Str")) {
        URL url=new URL(null,repository,streamHandler);
        URLConnection conn=url.openConnection();
        JarInputStream jis=new JarInputStream(conn.getInputStream());
        try {
          jis.getManifest();
        }
  finally {
          try {
            jis.close();
          }
 catch (          Throwable t) {
          }
        }
      }
 else {
        throw new IllegalArgumentException("String_Node_Str" + repository + "String_Node_Str");
      }
    }
 catch (    Throwable t) {
      IllegalArgumentException iae=new IllegalArgumentException("String_Node_Str");
      iae.initCause(t);
      throw iae;
    }
 finally {
      if (jarFile != null) {
        try {
          jarFile.close();
        }
 catch (        Throwable t) {
        }
      }
    }
  }
  repositories.add(repository);
}