Fix for 21669 in branch R2_0_1.
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
index 746fcbf..50d62dd 100644
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
+++ b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
@@ -145,17 +145,7 @@
  * @param buildListener a build listener
  */
 public void addBuildListeners(List classNames) {
-	List result = new ArrayList(10);
-	try {
-		for (Iterator iterator = classNames.iterator(); iterator.hasNext();) {
-			String className = (String) iterator.next();
-			Class listener = Class.forName(className);
-			result.add(listener.newInstance());
-		}
-	} catch (Exception e) {
-		throw new BuildException(e);
-	}
-	this.buildListeners = result;
+	this.buildListeners = classNames;
 }
 
 /**
@@ -177,8 +167,11 @@
 protected void addBuildListeners(Project project) {
 	try {
 		project.addBuildListener(createLogger());
-		for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();)
-			project.addBuildListener((BuildListener) iterator.next());
+		for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
+			String className = (String) iterator.next();
+			Class listener = Class.forName(className);
+			project.addBuildListener((BuildListener) listener.newInstance());
+		}
 	} catch (Exception e) {
 		throw new BuildException(e);
 	}