package Ġcom . coin base . wallet . core . extensions Ċ Ċ /** Ċ Ġ* ĠGet Ġa Ġnon - null Ġvalue Ġfrom Ġthe Ġmap Ġor Ġthrow Ġan Ġexception Ġif Ġit 's Ġnot Ġfound Ċ Ġ* Ċ Ġ* Ġ@ param Ġkey Ġa Ġkey Ġof Ġtype ĠK Ġto Ġget Ġthe Ġvalue Ġfor Ċ Ġ* Ċ Ġ* Ġ@ return Ġthe Ġnon - null Ġvalue Ġof Ġtype ĠV Ċ Ġ*/ Ċ fun Ġ< K , ĠV > ĠMap < K , ĠV >. require ( key : ĠK ): ĠV Ġ= Ġget ( key ) Ġ?: Ġthrow ĠNoSuch ElementException ("$ key Ġin Ġmap Ġis Ġmissing .") Ċ Ċ /** Ċ Ġ* ĠMake Ġsure Ġmap Ġkeys Ġand Ġvalues Ġare Ġall Ġthe Ġcorrect Ġtype Ċ Ġ*/ Ċ inline Ġfun Ġ< re ified ĠK , Ġre ified ĠV > ĠMap < *, Ġ*> ?. as Map OfType (): ĠMap < K , ĠV >? Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġreturn Ġnull ĊĊĠĠĠ Ġreturn Ġif Ġ( all Ġ{ Ġ( key , Ġvalue ) Ġ-> Ġkey Ġis ĠK Ġ&& Ġvalue Ġis ĠV Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġthis Ġas ĠMap < K , ĠV > ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ċ } Ċ