public WeightDistribution(ColumnExampleTable columnTable,int[] selection,int attributeNumber){
  calculateLabelWeights(columnTable,selection,attributeNumber);
  leftLabelWeights=new double[totalLabelWeights.length];
  leftWeight=0;
  totalWeight=getTotalWeight(totalLabelWeights);
  if (hasMissings) {
    missingsWeight=getTotalWeight(missingsLabelWeights);
    rightWeight=totalWeight - missingsWeight;
    rightLabelWeights=arrayDifference(totalLabelWeights,missingsLabelWeights);
  }
 else {
    missingsWeight=0;
    rightWeight=totalWeight;
    rightLabelWeights=new double[totalLabelWeights.length];
    System.arraycopy(totalLabelWeights,0,rightLabelWeights,0,totalLabelWeights.length);
  }
}

public WeightDistribution ( ColumnExampleTable columnTable , int [ ] selection , int attributeNumber ) { calculateLabelWeights ( columnTable , selection , attributeNumber ) ; leftLabelWeights = new double [ totalLabelWeights . length ] ; leftWeight = 0 ; totalWeight = getTotalWeight ( totalLabelWeights ) ; if ( hasMissings ) { missingsWeight = getTotalWeight ( missingsLabelWeights ) ; rightWeight = totalWeight - missingsWeight ; rightLabelWeights = arrayDifference ( totalLabelWeights , missingsLabelWeights ) ; } else { missingsWeight = 0 ; rightWeight = totalWeight ; rightLabelWeights = new double [ totalLabelWeights . length ] ; System . arraycopy ( totalLabelWeights , 0 , rightLabelWeights , 0 , totalLabelWeights . length ) ; } }
initializes the counting arrays with the start distribution .
