} catch (JavaModelException ex) { JavaPlugin.log(ex.getStatus()); hasLogEntry= true; } catch (PartInitException ex) { JavaPlugin.log(ex.getStatus()); hasLogEntry= true;
		public void open() {			boolean hasLogEntry= false;			CompilationUnit ast= JavaPlugin.getDefault().getASTProvider().getAST(fJavaElement, ASTProvider.WAIT_ACTIVE_ONLY, null);			ASTNode node= null;			if (ast != null)				node= ast.findDeclaringNode(fAstNodeKey);			if (node instanceof MethodDeclaration) {				try {					IMethodBinding methodBinding= ((MethodDeclaration)node).resolveBinding();					IMethodBinding definingMethodBinding= Bindings.findMethodDefininition(methodBinding, true);					if (definingMethodBinding != null) {						String definingTypeQualifiedName= definingMethodBinding.getDeclaringClass().getQualifiedName();						IType definingType= null;						IType type= getType(methodBinding);						if (type != null) {							ITypeHierarchy th= SuperTypeHierarchyCache.getTypeHierarchy(type);							IType[] superTypes= th.getAllSupertypes(type);							definingType= findType(superTypes, definingTypeQualifiedName);						} else {							definingType= JavaModelUtil.findType(fJavaElement.getJavaProject(), definingTypeQualifiedName);						}													if (definingType != null) {							IMethod definingMethod= Bindings.findMethod(definingMethodBinding, definingType);							if (definingMethod != null) {								OpenActionUtil.open(definingMethod, true);								return;							}						}					}				} catch (JavaModelException ex) {					JavaPlugin.log(ex.getStatus());					hasLogEntry= true;				} catch (PartInitException ex) {					JavaPlugin.log(ex.getStatus());					hasLogEntry= true;				}			}			String title= JavaEditorMessages.getString("OverrideIndicatorManager.open.error.title"); //$NON-NLS-1$			String message;			if (hasLogEntry)				message= JavaEditorMessages.getString("OverrideIndicatorManager.open.error.messageHasLogEntry"); //$NON-NLS-1$			else				message= JavaEditorMessages.getString("OverrideIndicatorManager.open.error.message"); //$NON-NLS-1$			MessageDialog.openError(JavaPlugin.getActiveWorkbenchShell(), title, message);		}