diff --git a/src/main/org/apache/tools/ant/types/resources/Union.java b/src/main/org/apache/tools/ant/types/resources/Union.java index 9c1edb8b2..c0c72b259 100644 --- a/src/main/org/apache/tools/ant/types/resources/Union.java +++ b/src/main/org/apache/tools/ant/types/resources/Union.java @@ -104,14 +104,15 @@ public class Union extends BaseResourceCollectionContainer { //preserve order-encountered using a list; enforce set logic manually: // (LinkedHashSet better, but JDK 1.4+) ArrayList union = new ArrayList(rc.size() * 2); - Set _union = new HashSet(rc.size() * 2); + // Use a set as list.contains() can be expensive for lots of resources + Set set = new HashSet(rc.size() * 2); for (Iterator rcIter = rc.iterator(); rcIter.hasNext();) { for (Iterator r = nextRC(rcIter).iterator(); r.hasNext();) { Object o = r.next(); if (asString) { o = o.toString(); } - if (_union.add(o)) { + if (set.add(o)) { union.add(o); } }