if (fCu != null) { final IPackageFragment fragment= (IPackageFragment) fCu.getParent(); if (!fragment.isDefaultPackage()) label= fragment.getElementName() + "." + fCu.getElementName(); else label= fCu.getElementName(); } else
final IPackageFragment fragment= (IPackageFragment) fCu.getParent(); if (!fragment.isDefaultPackage()) label= fragment.getElementName() + "." + fCu.getElementName(); else
	public Change createChange(IProgressMonitor pm) throws CoreException {		// renaming the file is taken care of in renameTypeRefactoring		if (fWillRenameType)			return fRenameTypeProcessor.createChange(pm);		fRenameTypeProcessor= null;		final String newName= getNewElementName();		final IResource resource= fCu.getResource();		if (resource != null && resource.isLinked()) {			final IProject project= resource.getProject();			final String name= project.getName();			final String description= Messages.format(RefactoringCoreMessages.RenameCompilationUnitChange_descriptor_description_short, resource.getName());			final String header= Messages.format(RefactoringCoreMessages.RenameCompilationUnitChange_descriptor_description, new String[] { resource.getFullPath().toString(), newName});			final String comment= new JDTRefactoringDescriptorComment(name, this, header).asString();			final int flags= RefactoringDescriptor.STRUCTURAL_CHANGE;			final RenameResourceDescriptor descriptor= new RenameResourceDescriptor();			descriptor.setProject(name);			descriptor.setDescription(description);			descriptor.setComment(comment);			descriptor.setFlags(flags);			descriptor.setResource(resource);			descriptor.setNewName(newName);			return new DynamicValidationStateChange(new RenameResourceChange(descriptor, resource, newName, comment));		}		String label= null;		if (fCu != null) {			final IPackageFragment fragment= (IPackageFragment) fCu.getParent();			if (!fragment.isDefaultPackage())				label= fragment.getElementName() + "." + fCu.getElementName(); //$NON-NLS-1$			else				label= fCu.getElementName();		} else			label= fCu.getElementName();		final String name= fCu.getJavaProject().getElementName();		final String description= Messages.format(RefactoringCoreMessages.RenameCompilationUnitChange_descriptor_description_short, fCu.getElementName());		final String header= Messages.format(RefactoringCoreMessages.RenameCompilationUnitChange_descriptor_description, new String[] { label, newName});		final String comment= new JDTRefactoringDescriptorComment(name, this, header).asString();		final int flags= RefactoringDescriptor.STRUCTURAL_CHANGE;		final RenameJavaElementDescriptor descriptor= new RenameJavaElementDescriptor(IJavaRefactorings.RENAME_COMPILATION_UNIT);		descriptor.setProject(name);		descriptor.setDescription(description);		descriptor.setComment(comment);		descriptor.setFlags(flags);		descriptor.setJavaElement(fCu);		descriptor.setNewName(newName);		return new DynamicValidationRefactoringChange(descriptor, RefactoringCoreMessages.RenameCompilationUnitRefactoring_name, new Change[] { new RenameCompilationUnitChange(fCu, newName)});	}