Bug 15277 Recreate test suite allows you to add the suite to itself
If you have a test suite that is also a test case (done to allow cascading tests), and recreate the test suite, you're allowed to add the suite to itself. This results in a recursive call to .suite(), which ends up causing a stack overflow when run. I'm not too sure on this, but I believe previously in this situtation the suite was added to itself a test case (new Suite(class) as opposed to class.suite()), which prevented this from happening. I do prefer this new behaviour, as it makes chaining suites together much easier (now if it only searched sub-packages for suites). This one special case just needs to be handled better.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizardPage.java
* The method validates the type name and returns the status of the validation.
	 * Can be extended to add more validation
	 */
	protected IStatus testSuiteChanged() {
		JUnitStatus status= new JUnitStatus();
		String typeName= getTypeName();
		
		if (typeName.length() == 0) {
			status.setError(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name_empty")); 
			return status;
		}
		if (typeName.indexOf('.') != -1) {
			status.setError(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name_qualified")); 
			return status;
		}
		IStatus val= JavaConventions.validateJavaTypeName(typeName);
		if (val.getSeverity() == IStatus.ERROR) {
			status.setError(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name_not_valid")+val.getMessage()); 
			return status;
		} else if (val.getSeverity() == IStatus.WARNING) {
			status.setWarning(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name.name_discouraged")+val.getMessage()); 
			
		}		
		IPackageFragment pack= getPackageFragment();
		if (pack != null) {
			ICompilationUnit cu= pack.getCompilationUnit(typeName + ".java"); 
			if (cu.exists()) {
				status.setWarning(WizardMessages.getString("NewTestSuiteWizPage.typeName.warning.already_exists")); 
				fMethodStubsButtons.setEnabled(false);
				return status;