public class ContainerSpecification implements Specification {
  private ContainerFeature requiredFeature;

  public ContainerSpecification(ContainerFeature required) {
    requiredFeature = required;
  }

  boolean isSatisfiedBy(Object candidate){
    if (!candidate instanceof Container) return false;
    return
  (Container)candidate.getFeatures().contains(requiredFeature);
  }
}
