public boolean canSpendOn(IMagic magic) {
   IGenericTraitCollection traitCollection = character.getTraitCollection();
   if (!pool.isAllowedFor(traitCollection, magic)) {
     return false;
   }
   return pointsSpent < pool.getAdditionalMagicCount(traitCollection);
 }
 public int getTotalPoints() {
   return pool.getAdditionalMagicCount(character.getTraitCollection());
 }