public void incrementBonus(final AptitudeBonusView bonus) {
   if (!bonus.canBeIncreased()) {
     return;
   }
   this.m_inventory.addLevel(bonus.getId(), (short) 1);
   this.m_inventory.removePointsFor(bonus.getId(), (short) 1);
   this.m_modifications.adjustOrPutValue(bonus.getId(), (short) 1, (short) 1);
   bonus.fireLevelChanged();
   final AptitudeBonusCategoryView category =
       this.m_categoriesById.get(
           AptitudeCategoryModelManager.INSTANCE.getBonusCategoryId(bonus.getId()));
   category.fireAvailablePointsChanged();
 }
 public void decrementBonus(final AptitudeBonusView bonus) {
   if (!bonus.canBeDecreased()) {
     return;
   }
   final int categoryId = AptitudeCategoryModelManager.INSTANCE.getBonusCategoryId(bonus.getId());
   this.m_inventory.addLevel(bonus.getId(), (short) (-1));
   this.m_inventory.incPointFor(categoryId);
   final short previousValue = this.m_modifications.get(bonus.getId());
   if (previousValue == 1) {
     this.m_modifications.remove(bonus.getId());
   } else {
     this.m_modifications.put(bonus.getId(), (short) (previousValue - 1));
   }
   bonus.fireLevelChanged();
   final AptitudeBonusCategoryView category = this.m_categoriesById.get(categoryId);
   category.fireAvailablePointsChanged();
 }
 public void reset(final AptitudeBonusInventory inventory) {
   this.m_categories.clear();
   this.m_categoriesById.clear();
   (this.m_inventory = inventory.getInactiveCopy()).addListener(this);
   this.m_modifications.clear();
   AptitudeCategoryModelManager.INSTANCE.forEachCategory(
       new TObjectProcedure<AptitudeCategoryModel>() {
         @Override
         public boolean execute(final AptitudeCategoryModel object) {
           final AptitudeBonusCategoryView category =
               new AptitudeBonusCategoryView(object, AptitudesView.this.m_inventory);
           AptitudesView.this.m_categories.add(category);
           AptitudesView.this.m_categoriesById.put(category.getId(), category);
           return true;
         }
       });
   Collections.sort(this.m_categories, this.m_categoryViewComparator);
   this.m_currentCategory = this.m_categories.get(0);
 }