public int addTaxon(Taxon taxon){
  int index=getTaxonIndex(taxon);
  if (index == -1) {
    taxa.add(taxon);
    fireTaxonAdded(taxon);
    index=taxa.size() - 1;
  }
  return index;
}

public int addTaxon ( Taxon taxon ) { int index = getTaxonIndex ( taxon ) ; if ( index == - 1 ) { taxa . add ( taxon ) ; fireTaxonAdded ( taxon ) ; index = taxa . size ( ) - 1 ; } return index ; }
adds the given taxon and returns its index . if the taxon is already in the list then it is not added but it returns its index .
