@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()
       });
 }
 protected IStandaloneCartridge getRequiredApplication(
     Collection<IStandaloneCartridge> allCartridges) {
   if (requiredApplication == null) {
     return null;
   }
   return requiredApplication.getCartridge(allCartridges);
 }
 @Override
 protected boolean meetsRequirements(IApplicationPropertiesProvider application) {
   IStandaloneCartridge applicationType = application.getCartridge();
   return eapSelector.isMatching(applicationType) || asSelector.isMatching(applicationType);
 }