JAL-2428 correct order of processing in joinClusters()
[jalview.git] / src / jalview / analysis / TreeBuilder.java
index 49c56c9..f28c6bc 100644 (file)
@@ -396,11 +396,6 @@ public abstract class TreeBuilder
   {
     double dist = distances.getValue(i, j);
   
-    /*
-     * add the members of cluster(j) to cluster(i)
-     */
-    clusters.get(i).or(clusters.get(j));
-  
     ri = findr(i, j);
     rj = findr(j, i);
   
@@ -422,10 +417,12 @@ public abstract class TreeBuilder
     node.setElementAt(sn, i);
   
     /*
-     * mark cluster j as disposed of
+     * move the members of cluster(j) to cluster(i)
+     * and mark cluster j as out of the game
      */
+    clusters.get(i).or(clusters.get(j));
+    clusters.get(j).clear();
     done.set(j);
-    clusters.setElementAt(null, j);
   }
 
   protected abstract void findNewDistances(SequenceNode tmpi, SequenceNode tmpj,