package Ġbr . uf al . ic . u food . data . restaurant Ċ Ċ import Ġbr . uf al . ic . u food . domain . Restaurant Ċ Ċ class ĠRest aurant Repository Impl Ġ: ĠRest aurant Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Nearest Rest aurants (): ĠList < Restaurant > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRest aurant Mock Factory . nearest Rest aurants ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsearch Nearest Rest aurants ( search : ĠString ): ĠList < Restaurant > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRest aurant Mock Factory . nearest Rest aurants . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . name . toLowerCase (). contains ( search . toLowerCase ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IllegalArgumentException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġget Restaurant ( id : ĠInt ): ĠRest aurant Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ! in Ġ 0 Ġuntil ĠRest aurant Mock Factory . nearest Rest aurants . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Invalid Ġrestaurant ĠID .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠRest aurant Mock Factory . nearest Rest aurants [ id ] ĊĠĠĠ Ġ} Ċ Ċ } Ċ