Bug 31113 Don't offer to do a deep copy/move of linked resources
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/reorg/ReorgQueries.java
}
	public INewNameQuery createNewResourceNameQuery(IResource res) {
		String[] keys= {res.getName()};
		String message= ReorgMessages.getFormattedString("ReorgQueries.enterNewNameQuestion", keys); 
		return createStaticQuery(createResourceNameValidator(res), message, res.getName());
	}
	public INewNameQuery createNewPackageNameQuery(IPackageFragment pack) {
		String[] keys= {pack.getElementName()};
		String message= ReorgMessages.getFormattedString("ReorgQueries.enterNewNameQuestion", keys); 
		return createStaticQuery(createPackageNameValidator(pack), message, pack.getElementName());
	}
	public INewNameQuery createNullQuery(){
		return createStaticQuery(null);
	}
	public INewNameQuery createStaticQuery(final String newName){
		return new INewNameQuery(){
			public String getNewName() {
				return newName;
			}
		};
	}
	private static INewNameQuery createStaticQuery(final IInputValidator validator, final String message, final String initial){
		return new INewNameQuery(){
			public String getNewName() {
				InputDialog dialog= new InputDialog(JavaPlugin.getActiveWorkbenchShell(), ReorgMessages.getString("ReorgQueries.nameConflictMessage"), message, initial, validator); 
				if (dialog.open() == Window.CANCEL)
					throw new OperationCanceledException();
				return dialog.getValue();
			}
		};