public void updatePlugin(@Nullable MavenPluginInfo newPluginInfo) {
    boolean hadPluginInfo = myPluginInfo != null;

    myPluginInfo = newPluginInfo;
    boolean hasPluginInfo = myPluginInfo != null;

    setErrorLevel(myPluginInfo == null ? MavenProjectsStructure.ErrorLevel.ERROR : MavenProjectsStructure.ErrorLevel.NONE);

    if (hadPluginInfo == hasPluginInfo) return;

    myGoalNodes.clear();
    if (myPluginInfo != null) {
      for (MavenPluginInfo.Mojo mojo : myPluginInfo.getMojos()) {
        myGoalNodes.add(new PluginGoalNode(myMavenProjectsStructure, this, mojo.getQualifiedGoal(), mojo.getGoal(),
                                           mojo.getDisplayName()));
      }
    }

    sort(myGoalNodes);
    myMavenProjectsStructure.updateFrom(this);
    childrenChanged();
  }
public void updatePlugin(@Nullable MavenPluginInfo newPluginInfo)