@Override
 public String getMessage(
     IEmbeddableCartridge requestedCartridge, IApplicationPropertiesProvider application) {
   return NLS.bind(
       "It is not recommended to add cartridge {0} to your application {1}."
           + " The cartridge requires a {3} or {4} application and your application is a {2}.",
       new String[] {
         requestedCartridge.getName(),
         application.getName(),
         application.getCartridge().getName(),
         eapSelector.getName(),
         asSelector.getName()
       });
 }
 @Override
 public String getMessage(
     IEmbeddableCartridge requestedCartridge, IApplicationPropertiesProvider application) {
   return NLS.bind(
       "It is not recommended to add cartridge {0} to your application {1}."
           + " The cartridge cannot scale and requires a non-scalable application. "
           + "Your application is scalable.",
       requestedCartridge.getName(), application.getName());
 }
 @Override
 protected boolean meetsRequirements(IApplicationPropertiesProvider application) {
   IStandaloneCartridge applicationType = application.getCartridge();
   return eapSelector.isMatching(applicationType) || asSelector.isMatching(applicationType);
 }
 @Override
 protected boolean meetsRequirements(IApplicationPropertiesProvider application) {
   return application.getApplicationScale() == ApplicationScale.NO_SCALE;
 }