/**
 * 
 */
package dr.evolution.tree;

import java.util.BitSet;

/**
 * @author Sebastian Hoehna
 *
 */
public class Clade implements Comparable<Clade> {

   public Clade(final BitSet bits, final double height) {
      this.bits = bits;
      this.height = height;
      size = bits.cardinality();
  }

  public BitSet getBits() {
      return bits;
  }

  public double getHeight() {
      return height;
  }

  public int getSize() {
      return size;
  }

  public int compareTo(Clade clade) {
      int i = bits.cardinality();
      int j = clade.bits.cardinality();
      return (i < j ? -1 : (i > j ? 1 : 0));
  }

  private final BitSet bits;
  private final double height;
  private final int size;
}

@@ -1,18 +1,15 @@
 /**
-%0D
 %0A * 
-%0D
 %0A */
-%0D
 %0Apac
@@ -31,19 +31,17 @@
 on.tree;
-%0D%0A%0D
+%0A
 %0Aimport 
@@ -61,16 +61,13 @@
 Set;
-%0D%0A%0D
+%0A
 %0A/**
-%0D
 %0A * 
@@ -94,18 +94,15 @@
 ehna
-%0D
 %0A *
-%0D
 %0A */
-%0D
 %0Apub
@@ -147,20 +147,19 @@
 Clade%3E %7B
-%0D%0A%0D%0A
+%0A%0A 
    publi
@@ -207,18 +207,19 @@
 eight) %7B
-%0D
 %0A
+  
       th
@@ -233,24 +233,25 @@
  = bits;
-%0D
 %0A      
+  
 this.hei
@@ -263,18 +263,19 @@
  height;
-%0D
 %0A
+  
       si
@@ -298,25 +298,26 @@
 ality();
-%0D%0A  %7D%0D%0A%0D%0A
+%0A    %7D%0A%0A  
   public
@@ -331,26 +331,27 @@
  getBits() %7B
-%0D
 %0A
+  
       return
@@ -356,25 +356,26 @@
 rn bits;
-%0D%0A  %7D%0D%0A%0D%0A
+%0A    %7D%0A%0A  
   public
@@ -391,26 +391,27 @@
 etHeight() %7B
-%0D
 %0A
+  
       return
@@ -418,25 +418,26 @@
  height;
-%0D
 %0A  
-%7D%0D%0A%0D%0A
+  %7D%0A%0A  
   public
@@ -452,18 +452,19 @@
 Size() %7B
-%0D
 %0A
+  
       re
@@ -473,25 +473,26 @@
 rn size;
-%0D%0A  %7D%0D%0A%0D%0A
+%0A    %7D%0A%0A  
   public
@@ -520,24 +520,25 @@
 clade) %7B
-%0D
 %0A
+ 
       
+ 
 int i = 
@@ -552,26 +552,27 @@
 rdinality();
-%0D
 %0A
+  
       int j 
@@ -602,16 +602,72 @@
 y();
-%0D
+%0A        assert i == getSize() && j == clade.getSize();
 %0A      
+  
 retu
@@ -704,17 +704,18 @@
 0));
-%0D%0A  %7D%0D%0A%0D%0A
+%0A    %7D%0A%0A  
   pr
@@ -738,18 +738,19 @@
 et bits;
-%0D
 %0A
+  
   privat
@@ -771,18 +771,19 @@
  height;
-%0D
 %0A
+  
   privat
@@ -803,9 +803,7 @@
 ize;
-%0D
 %0A%7D
-%0D
 %0A

add consistency check