Navigatable () { PluginNode pluginNode = (PluginNode)getParent(); MavenDomPluginModel pluginModel = MavenPluginDomUtil.getMavenPluginModel(myProject, pluginNode.getPlugin().getGroupId(), pluginNode.getPlugin().getArtifactId(), pluginNode.getPlugin().getVersion()); if (pluginModel == null) return null; for (MavenDomMojo mojo : pluginModel.getMojos().getMojos()) { final XmlElement xmlElement = mojo.getGoal().getXmlElement(); if (xmlElement instanceof Navigatable && Objects.equals(myUnqualifiedGoal, mojo.getGoal().getStringValue())) { return new NavigatableAdapter() { @Override public void navigate(boolean requestFocus) { ((Navigatable)xmlElement).navigate(requestFocus); } }; } } return null; }