dialog.setValidator(new ISelectionStatusValidator(){ public IStatus validate(Object[] selection) { Assert.isTrue(selection.length <= 1); if (selection.length == 0) return new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.OK, RefactoringMessages.getString("MoveMembersInputPage.Invalid_selection"), null); Object element= selection[0]; if (! (element instanceof TypeInfo)) return new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.OK, RefactoringMessages.getString("MoveMembersInputPage.Invalid_selection"), null); try { TypeInfo info= (TypeInfo)element; return validateDestinationType(info.resolveType(scope), info.getTypeName()); } catch (JavaModelException e) { JavaPlugin.log(e); return new Status(IStatus.ERROR, JavaPlugin.getPluginId(), IStatus.OK, RefactoringMessages.getString("MoveMembersInputPage.internal_error"), null); } } });
	private void openTypeSelectionDialog(){		int elementKinds= IJavaSearchConstants.CLASS | IJavaSearchConstants.INTERFACE;		IJavaSearchScope scope= createWorkspaceSourceScope();		TypeSelectionDialog dialog= new TypeSelectionDialog(getShell(), getWizard().getContainer(), elementKinds, scope);		dialog.setTitle(RefactoringMessages.getString("MoveMembersInputPage.choose_Type")); //$NON-NLS-1$		dialog.setMessage(RefactoringMessages.getString("MoveMembersInputPage.dialogMessage")); //$NON-NLS-1$		dialog.setUpperListLabel(RefactoringMessages.getString("MoveMembersInputPage.upperListLabel")); //$NON-NLS-1$		dialog.setLowerListLabel(RefactoringMessages.getString("MoveMembersInputPage.lowerListLabel")); //$NON-NLS-1$		dialog.setMatchEmptyString(false);		dialog.setFilter(createInitialFilter());		if (dialog.open() == Dialog.CANCEL)			return;		IType firstResult= (IType)dialog.getFirstResult();				fTextField.setText(JavaModelUtil.getFullyQualifiedName(firstResult));		}