removed old classes/tools
[jalview.git] / forester / java / src / org / forester / phylogeny / Phylogeny.java
index f3b6c5f..b1677b1 100644 (file)
@@ -221,14 +221,13 @@ public class Phylogeny {
      * @param remove_us the parent node of the subtree to be deleted
      */
     public void deleteSubtree( final PhylogenyNode remove_us, final boolean collapse_resulting_node_with_one_desc ) {
-        if ( isEmpty() ) {
+        if ( isEmpty() || ( remove_us.isRoot() && ( getNumberOfExternalNodes() != 1 ) ) ) {
             return;
         }
-        if ( remove_us.isRoot() ) {
+        if ( remove_us.isRoot() && ( getNumberOfExternalNodes() == 1 ) ) {
             init();
-            return;
         }
-        if ( !collapse_resulting_node_with_one_desc ) {
+        else if ( !collapse_resulting_node_with_one_desc ) {
             remove_us.getParent().removeChildNode( remove_us );
         }
         else {
@@ -269,7 +268,7 @@ public class Phylogeny {
                 }
             }
         }
-        remove_us.setParent( null );
+        remove_us.removeConnections();
         setIdHash( null );
         externalNodesHaveChanged();
     }