package Ġnet . dont dr ink and root . wicket . example . component Ċ Ċ import Ġnet . dont dr ink and root . wicket . bootstrap . component . item . Abstract Link Item Ċ import Ġnet . dont dr ink and root . wicket . bootstrap . component . item . Item View Ċ import Ġnet . dont dr ink and root . wicket . bootstrap . component . item . Repe ating Dropdown Item Ċ import Ġnet . dont dr ink and root . wicket . example . getCurrent Session Ċ import Ġnet . dont dr ink and root . wicket . example . model . Theme Ċ import Ġnet . dont dr ink and root . wicket . example . model . available Themes Ċ import Ġnet . dont dr ink and root . wicket . model . Concat en ating String Model Ċ import Ġorg . apache . wicket . markup . html . link . State less Link Ċ import Ġorg . apache . wicket . model . Model Ċ Ċ class ĠTheme Dropdown Item ( id : ĠString ) Ġ: ĠRe pe ating Dropdown Item < Void >( ĊĠĠĠ Ġid , ĊĠĠĠ Ġlabel Model Ġ= ĠConcat en ating String Model ( Model (" Theme "), Ġ": Ġ", Ġ{ ĠgetCurrent Session (). current Theme !!. name Ġ}), Ċ ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġpopulate Items ( item View : ĠItem View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( theme Ġin Ġavailable Themes ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . add ( create Theme Link Item ( item View . new Child Id (), Ġtheme )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Theme Link Item ( id : ĠString , Ġtheme : ĠTheme ): ĠAbstract Link Item < *, Ġ*> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠAbstract Link Item < Void , ĠStateless Link < Void >>( id , Ġlabel Ġ= ĠModel . of ( theme . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Link ( id : ĠString ): ĠStateless Link < Void > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠStateless Link < Void >( id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetCurrent Session (). current Theme Ġ= Ġtheme ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Response Page ( page ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }