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
public void setVisible(boolean visible) {
		super.setVisible(visible);
		if (visible) {
			setFocus();		
			updateClassesInSuiteTable();
		}
	}
	protected void updateClassesInSuiteTable() {
		if (fClassesInSuiteTable != null) {
			IPackageFragment pack= getPackageFragment();
			if (pack == null) {
				IPackageFragmentRoot root= getPackageFragmentRoot();
				if (root != null)
					pack= root.getPackageFragment(""); 
				else
					return;
			}
			fCurrentPackage= pack;			
			fClassesInSuiteTable.setInput(pack);
			fClassesInSuiteTable.setAllChecked(true);
			updateSelectedClassesLabel();	
		}
	}
	
	protected void createClassesInSuiteControl(Composite parent, int nColumns) {
		if (fClassesInSuiteTable == null) {
			Label label = new Label(parent, SWT.LEFT);
			label.setText(WizardMessages.getString("NewTestSuiteWizPage.classes_in_suite.label")); 
			GridData gd= new GridData();
			gd.horizontalAlignment = GridData.FILL;