package Ġcom . key gen qt . patterns . pattern . behavior al . visitor Ċ Ċ import Ġcom . key gen qt . patterns . utils . I Runner Ċ Ċ class ĠRunner Ġ: ĠI Runner Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ("\ n classic Ġversion :") ĊĠĠĠĠĠĠĠ Ġval Ġdraw Ġ= ĠDraw Visitor () ĊĠĠĠĠĠĠĠ ĠlistOf ( Dot (), ĠDot (), ĠRing ()). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . accept ( draw ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprintln ("\ ne asy Ġkotlin Ġversion :") ĊĠĠĠĠĠĠĠ Ġval Ġdraw 2 Ġ= ĠDraw Visitor 2 () ĊĠĠĠĠĠĠĠ ĠlistOf ( Dot (), ĠDot (), ĠRing ()). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw 2 . visit Circle ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }