void (ActionEvent e) { TreeClassChooser chooser = new TreeJavaClassChooserDialog( RefactoringBundle.message("choose.destination.class"), myProject, searchScope, MoveKotlinNestedClassesDialog.this::classMatchesFilter, null, null, true ) { @Nullable @Override protected PsiClass getSelectedFromTreeUserObject(DefaultMutableTreeNode node) { PsiClass psiClass = super.getSelectedFromTreeUserObject(node); if (psiClass != null) return psiClass; Object userObject = node.getUserObject(); if (!(userObject instanceof KtClassOrObjectTreeNode)) return null; return LightClassUtilsKt.toLightClass(((KtClassOrObjectTreeNode) userObject).getValue()); } }; chooser.selectDirectory( (targetClass != null ? targetClass : originalClass).getContainingFile().getContainingDirectory()); chooser.showDialog(); PsiClass aClass = chooser.getSelected(); if (aClass instanceof KtLightClassForSourceDeclaration) { targetClass = ((KtLightClassForSourceDeclaration) aClass).getKotlinOrigin(); targetClassChooser.setText(Objects.requireNonNull(aClass.getQualifiedName())); } else { targetClass = aClass; } }