0.9916 beta
[jalview.git] / forester / java / src / org / forester / phylogeny / PhylogenyNode.java
index 3928bc3..9e71765 100644 (file)
@@ -468,12 +468,12 @@ public final class PhylogenyNode implements Comparable<PhylogenyNode> {
 
     public final PhylogenyNode getNextExternalNodeWhileTakingIntoAccountCollapsedNodes() {
         //TODO work on me ~~
-        if ( isInternal() && !isCollapse() ) {
-            throw new UnsupportedOperationException( "attempt to get next external node of an uncollapsed internal node" );
-        }
         if ( isRoot() ) {
             return null;
         }
+        if ( isInternal() && !isCollapse() ) {
+            throw new UnsupportedOperationException( "attempt to get next external node of an uncollapsed internal node" );
+        }
         if ( getParent().isCollapse() ) {
             throw new UnsupportedOperationException( "attempt to get next external node of node with a collapsed parent" );
         }
@@ -617,9 +617,10 @@ public final class PhylogenyNode implements Comparable<PhylogenyNode> {
 
     /**
      * Returns whether this PhylogenyNode should be drawn as collapsed.
+     * Root can not be collapsed.
      */
     final public boolean isCollapse() {
-        return _collapse;
+        return _collapse && _parent != null;
     }
 
     /**
@@ -788,14 +789,14 @@ public final class PhylogenyNode implements Comparable<PhylogenyNode> {
     }
 
     /**
-     * Inserts PhylogenyNode n at the specified position i into the list of
+     * Inserts PhylogenyNode node at the specified position i into the list of
      * child nodes. This does not allow null slots in the list of child nodes:
-     * If i is larger than the number of child nodes, n is just added to the
-     * list, not place at index i.
+     * If i is larger than the number of child nodes, node is just added to the
+     * list, not placed at index i.
      *
      * @param i
      *            the index of position where to add the child
-     * @param n
+     * @param node
      *            the PhylogenyNode to add
      */
     final public void setChildNode( final int i, final PhylogenyNode node ) {