package Ġcom . bad oo . ri bs . samples . back _ stack . rib . parent Ċ Ċ import Ġcom . bad oo . ri bs . builder . Simple Builder Ċ import Ġcom . bad oo . ri bs . core . modal ity . Build Params Ċ import Ġcom . bad oo . ri bs . routing . source . back stack . Back Stack Ċ import Ġcom . bad oo . ri bs . samples . back _ stack . rib . parent . routing . Parent Child Builders Ċ import Ġcom . bad oo . ri bs . samples . back _ stack . rib . parent . routing . Parent Router Ċ import Ġcom . bad oo . ri bs . samples . back _ stack . rib . parent . routing . Parent Router . Configuration Ċ import Ġcom . bad oo . ri bs . samples . back _ stack . rib . parent . routing . Parent Router . Configuration . Content Ċ Ċ class ĠParent Builder ( ĊĠĠĠ Ġprivate Ġval Ġdependency : ĠParent . Dependency Ċ ) Ġ: ĠSimple Builder < Parent >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbuild ers Ġby Ġlazy Ġ{ ĠParent Child Builders ( dependency ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild ( build Params : ĠBuild Params < Nothing ?> ): ĠParent Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġback Stack Ġ Ġ= Ġback Stack ( build Params ) ĊĠĠĠĠĠĠĠ Ġval Ġrouter Ġ= Ġrouter ( build Params , Ġback Stack ) ĊĠĠĠĠĠĠĠ Ġval Ġpresenter Ġ= Ġpresenter ( back Stack ) ĊĊĠĠĠĠĠĠĠ Ġval Ġview Dependency Ġ= Ġobject Ġ: ĠParent View . Dependency Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġpresenter : ĠParent Presenter Ġ= Ġpresenter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠParent Node ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Params Ġ= Ġbuild Params , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Factory Ġ= ĠParent View Impl . Factory (). invoke ( view Dependency ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplugins Ġ= ĠlistOf NotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrouter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġback Stack ( build Params : ĠBuild Params < Nothing ?> ): ĠBack Stack < Configuration > Ġ= ĊĠĠĠĠĠĠĠ ĠBack Stack ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Params Ġ= Ġbuild Params , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Configuration Ġ= ĠContent . A ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġrouter ( ĊĠĠĠĠĠĠĠ Ġbuild Params : ĠBuild Params < Nothing ? >, ĊĠĠĠĠĠĠĠ Ġback Stack : ĠBack Stack < Configuration > ĊĠĠĠ Ġ): ĠParent Router Ġ= ĊĠĠĠĠĠĠĠ ĠParent Router ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Params Ġ= Ġbuild Params , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrouting Source Ġ= Ġback Stack , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild ers Ġ= Ġbuild ers ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġpresenter ( back Stack : ĠBack Stack < Configuration >): ĠParent Presenter Impl Ġ= ĊĠĠĠĠĠĠĠ ĠParent Presenter Impl ( back Stack ) Ċ Ċ } Ċ