int i;
/************** either the feature supports quantitative data... **************/
// NB: in this version, "quantitative features" are dealt with in a dichotomous way
- if (winnerFeature.isSupportsQuantitativeData()) {
+ if (winnerFeature!=null && winnerFeature.isSupportsQuantitativeData()) {
// first, get the threshold
float threshold = quantitativeFeaturesThresholds.get(winnerFeature);
String sign;
// "categorical features" may present several different states, each one of these might correspond to one child
List<State> statesDone = new ArrayList<State>(); // the list of states already used
int numberOfStates;
- if (winnerFeature.isSupportsCategoricalData()) {
+ if (winnerFeature!=null && winnerFeature.isSupportsCategoricalData()) {
for (TaxonDescription td : taxaCovered){
DescriptionElementBase debConcerned = null;
// if the node is a leaf, the statement contains the list of taxa to which the current leaf leads.
if (!childrenExist){
KeyStatement fatherStatement = father.getStatement();
- String statementString = fatherStatement.getLabelText(Language.DEFAULT());
- if (statementString !=null && taxaCovered != null){
- String label = statementString + " --> " + taxaCovered.toString();
- fatherStatement.putLabel(label, Language.DEFAULT());
+ if (fatherStatement!=null){
+ String statementString = fatherStatement.getLabelText(Language.DEFAULT());
+ if (statementString !=null && taxaCovered != null){
+ String label = statementString + " --> " + taxaCovered.toString();
+ fatherStatement.putLabel(label, Language.DEFAULT());
+ }
}
}
}