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; } } }