com.designpatterns.behavioral.visitor.shoppingcart