private boolean hasAdditionalPools() {
   for (IAdditionalEssencePool pool : additionalRules.getAdditionalEssencePools()) {
     if (!pool.modifiesBasePool()) {
       return true;
     }
   }
   return false;
 }
 @Override
 public boolean isExtensionRequired() {
   return additionalRules != null && additionalRules.getAdditionalMagicLearnPools().length > 0;
 }