Design Pattern : Chain of Responsibility and Iterator