fSuperTypeToUse= (IType)JavaModelUtil.toWorkingCopy(supertypeToUse);
fSuperTypeToUse= (IType)WorkingCopyUtil.getWorkingCopyIfExists(supertypeToUse);
	private UseSupertypeWherePossibleUtil(TextChangeManager manager, IMember[] extractedMembers, String superTypeName, IType inputClass, CodeGenerationSettings codeGenerationSettings, ASTNodeMappingManager astManager, IType supertypeToUse, boolean updateInstanceOf) throws JavaModelException {		fManager= manager;		fExtractedMemberSet= new HashSet(Arrays.asList(extractedMembers));		fSuperTypeName= superTypeName;		fInputClass= (IType)JavaModelUtil.toWorkingCopy(inputClass);		fCodeGenerationSettings= codeGenerationSettings;		fASTMappingManager= astManager;		fBadVarSet= new HashSet(0);		fReferenceNodeCache= new HashMap();		fRippleMethodCache= new HashMap();		fSuperTypeToUse= (IType)JavaModelUtil.toWorkingCopy(supertypeToUse);		fSuperTypeSet= createSuperTypeSet(fSuperTypeToUse, fInputClass.getJavaProject());		fUpdateInstanceOf= updateInstanceOf;	}