### Question:
ForEachModelAction extends BaseStatefulAction { @Override public boolean isSatisfiable(ActionContext context) { return Iterables.any(context.getModels(), selector); } ForEachModelAction(
         StatefulAction delegate, 
         Predicate<Model> selector, 
         Predicate<Model> condition, 
         String targetVariable
   ); @Override String getName(); @Override String getDescription(); @Override boolean isSatisfiable(ActionContext context); @Override ActionState execute(ActionContext context); @Override ActionState keepFiring(ActionContext context, RuleEvent event, boolean conditionMatches); @Override void activate(ActionContext context); @Override String toString(); static final String VAR_STILL_FIRING; }### Answer:
@Test public void testSatisfiablity() { ForEachModelAction action = new ForEachModelAction(mockAction, Predicates.<Model>equalTo(model1), Predicates.<Model>alwaysTrue(), "address"); assertTrue(action.isSatisfiable(context)); action = new ForEachModelAction(mockAction, Predicates.<Model>equalTo(createDeviceModel()), Predicates.<Model>alwaysTrue(), "address"); assertFalse(action.isSatisfiable(context)); }