ExceptionHandler.log(ex, SearchMessages.getString("OpenTypeAction.error.open.message"));
ExceptionHandler.log(ex, SearchMessages.getString("JavaElementAction.error.open.message"));
	protected IJavaElement findType(ICompilationUnit cu, boolean silent) {		IType[] types= null;		try {								types= cu.getAllTypes();		} catch (JavaModelException ex) {			// silent mode			ExceptionHandler.log(ex, SearchMessages.getString("OpenTypeAction.error.open.message")); //$NON-NLS-1$			if (silent)				return RETURN_WITHOUT_BEEP;			else				return null;		}		if (types.length == 1 || (silent && types.length > 0))			return types[0];		if (silent)			return RETURN_WITHOUT_BEEP;		if (types.length == 0)			return null;		String title= SearchMessages.getString("ShowTypeHierarchyAction.selectionDialog.title"); //$NON-NLS-1$		String message = SearchMessages.getString("ShowTypeHierarchyAction.selectionDialog.message"); //$NON-NLS-1$		Shell parent= JavaPlugin.getActiveWorkbenchShell();		int flags= (JavaElementLabelProvider.SHOW_DEFAULT);								ElementListSelectionDialog dialog= new ElementListSelectionDialog(parent, new JavaElementLabelProvider(flags));		dialog.setTitle(title);		dialog.setMessage(message);		dialog.setElements(types);				if (dialog.open() == dialog.OK)			return (IType)dialog.getFirstResult();		else			return RETURN_WITHOUT_BEEP;	}