/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 8 ĠJul ian ĠEx en ber ger Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĠĠ Ġ` * ĠĠ Ġ`[ ` http :// www . apache . org / licenses / LICENSE - 2 . 0 `]( http :// www . apache . org / licenses / LICENSE - 2 . 0 ) Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġio . code stream . di . runtime Ċ Ċ import Ġio . code stream . di . api .* Ċ Ċ object ĠInstance Scope Ġ: ĠScope { ĊĊĠĠĠ Ġoverride Ġval Ġid : String Ġ= ĠScope Type . instance . name ĊĠĠĠ Ġprivate Ġval Ġinstances : ĠMutable Map < Component Id , ĠAny > Ġ= Ġmutable Map Of () ĊĊĠĠĠ Ġoverride Ġfun Ġadd ( id : ĠComponent Id , Ġinstance : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinstances [ id ] Ġ= Ġinstance ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġoverride Ġfun Ġget ( id : ĠComponent Id , Ġctx : ĠContext ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinstances [ id ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġinstances . clear () ĊĠĠĠ Ġ} Ċ Ċ }