package Ġcom . sample . mult im od ul en avigation . common core Ċ Ċ class ĠTab Set Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtabs Ġ= Ġmutable ListOf < Dashboard Screen >() ĊĊĠĠĠ Ġfun Ġadd ( tab Screen : ĠDashboard Screen ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtabs . remove ( tab Screen ) Ġ// Ġremove Ġif Ġexist ĊĠĠĠĠĠĠĠ Ġtabs . add ( tab Screen ) Ġ// Ġadd Ġto Ġthe Ġend ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove ( route : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġtabs . indexOf First Ġ{ Ġit . route Ġ== Ġroute Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( index Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtabs . remove At ( index ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlast OrNull (): ĠDashboard Screen ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtabs . last OrNull () ĊĠĠĠ Ġ} Ċ }