public void goAlgo() {
    HierarchicalGraph newGraph = graphModel.getHierarchicalGraphVisible();
    if (newGraph.getView().getViewId() != initedView) {
      setConverged(true);
      layout.endAlgo();
      endAlgo();
      return;
    }
    this.graph = newGraph;
    if (layout.canAlgo()) {
      layout.goAlgo();
    } else {
      layout.endAlgo();
      if (level > 0) {
        coarseningStrategy.refine(graph);
        level--;

        initYifanHu();
      } else {
        setConverged(true);
        layout = null;
      }
    }
  }