package Ġcom . sto . kn . lib Ċ Ċ interface ĠWiki Repository Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġget Nearest Pages ( location : ĠLocation ): ĠList < Wiki Page > Ċ } Ċ Ċ class ĠWiki Repository Impl Ġ: ĠWiki Repository Ġ{ ĊĠĠĠ Ġprivate Ġval Ġapi Ġ= ĠWiki Api () ĊĊĠĠĠ Ġprivate Ġvar Ġcached Location : ĠLocation ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcached Results : ĠList < Wiki Page > Ġ= Ġempty List () ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Nearest Pages ( location : ĠLocation ): ĠList < Wiki Page > Ġ{ ĊĠĠĠĠĠĠĠ Ġcached Location ?. let Ġ{ Ġcached Location Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( location . distance To ( cached Location ) Ġ< Ġ 1 0 . 0 ) Ġreturn Ġcached Results ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġapi . get Nearest Pages ( location ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcached Location Ġ= Ġlocation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcached Results Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }