docs: protected CellEditor createClassCellEditor() {
  		return new DialogCellEditor(getControl()) {
  			@Override
  			protected Object openDialogBox(Control cellEditorWindow) {
  				final OpenTypeSelectionDialog dialog = new OpenTypeSelectionDialog(
  						getControl().getShell(),
  						false,
  						PlatformUI.getWorkbench().getProgressService(),
  						null,
  						IJavaSearchConstants.TYPE);
  				dialog.setTitle(JavaUIMessages.OpenTypeAction_dialogTitle);
  				dialog.setMessage(JavaUIMessages.OpenTypeAction_dialogMessage);
  				final int result = dialog.open();
  				if (result != IDialogConstants.OK_ID) {
  					return null;
  				}
  				final Object[] types = dialog.getResult();
  				if (types == null || types.length != 1 || !(types[0] instanceof IType)) {
  					return null;
  				}
  				final IType type = (IType) types[0];
  				final String name = type.getFullyQualifiedName();
  				return Strings.emptyIfNull(name);
  			}
  		};
  	}