Allowing Suites to have duplicated name so people can configure the same suite-file to run multiple times (performance testing, resiliency, memory leak testing, etc). Did this by checking for duplicated names, and if one or more are found instead of throwing an exception we change the name to <suite name> (0), <suite name> (1), etc...
diff --git a/src/main/java/org/testng/TestNG.java b/src/main/java/org/testng/TestNG.java
index e49b1cd..3bad65a 100644
--- a/src/main/java/org/testng/TestNG.java
+++ b/src/main/java/org/testng/TestNG.java
@@ -982,9 +982,20 @@
   private void checkSuiteNamesInternal(List<XmlSuite> suites, Set<String> names) {
     for (XmlSuite suite : suites) {
       final String name = suite.getName();
-      if (names.contains(name)) {
-        throw new TestNGException("Two suites cannot have the same name: " + name);
+      
+      int count = 0;
+      String tmpName = name;
+      while (names.contains(tmpName)) {
+        tmpName = name + " (" + count++ + ")";
       }
+ 
+      if (count > 0) {
+        suite.setName(tmpName);
+        names.add(tmpName);
+      } else {
+        names.add(name);
+      }
+
       names.add(name);
       checkSuiteNamesInternal(suite.getChildSuites(), names);
     }