Паттерн: Посетитель (Visitor)
Фрагмент: составной элемент [java]
  1. package visitor.ex;
  2.  
  3. import java.util.Iterator;
  4. import java.util.List;
  5.  
  6. public class CompositeElement implements Element {
  7. private List<Element> children;
  8.  
  9. public void Accept(Visitor v) {
  10. Iterator<Element> childIter = children.iterator();
  11. while (childIter.hasNext()) {
  12. childIter.next().Accept(v);
  13. }
  14. v.VisitCompositeElement(this);
  15. }
  16.  
  17. }
  18.