@Override
 public int getCurrentMaximum(ILimitationContext limitationContext, boolean modified) {
   int currentEssence =
       limitationContext.getTraitCollection().getTrait(OtherTraitType.Essence).getCurrentValue();
   int currentEssenceLimitation = Math.max(currentEssence, 5);
   int currentAppearance =
       limitationContext.getTraitCollection().getTrait(AttributeType.Appearance).getCurrentValue();
   if (currentEssence == 4)
     if (currentAppearance <= 2) return 1;
     else return currentEssenceLimitation;
   if (currentEssence >= 5)
     if (currentAppearance < 2) return 0;
     else return currentEssenceLimitation;
   return currentEssenceLimitation;
 }
 @Override
 public int getAbsoluteLimit(ILimitationContext limitationContext) {
   int essenceMaximum =
       limitationContext.getEssenceLimitation().getAbsoluteLimit(limitationContext);
   return Math.max(essenceMaximum, 5);
 }