if (typeHierarchy == null) { typeHierarchy= type.newSupertypeHierarchy(null); superTypes= typeHierarchy.getAllSuperclasses(type); }
typeHierarchy= type.newSupertypeHierarchy(null); superTypes= typeHierarchy.getAllSuperclasses(type);
	private void createTearDown(IType type, ImportsManager imports) throws JavaModelException {		ITypeHierarchy typeHierarchy= null;		IType[] superTypes= null;		String tearDown= ""; //$NON-NLS-1$		IMethod methodTemplate= null;		if (type.exists()) {			if (typeHierarchy == null) {				typeHierarchy= type.newSupertypeHierarchy(null);				superTypes= typeHierarchy.getAllSuperclasses(type);			}			for (int i= 0; i < superTypes.length; i++) {				if (superTypes[i].exists()) {					IMethod testM= superTypes[i].getMethod(TEARDOWN, new String[] {});					if (testM.exists()) {						methodTemplate= testM;						break;					}				}			}		}		CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings();		if (methodTemplate != null) {			GenStubSettings genStubSettings= new GenStubSettings(settings);							genStubSettings.fCallSuper= true;			genStubSettings.fMethodOverwrites= true;			tearDown= JUnitStubUtility.genStub(getTypeName(), methodTemplate, genStubSettings, imports);			type.createMethod(tearDown, null, false, null);				fIndexOfFirstTestMethod++;		}					}