package Ġdomain Ċ Ċ internal Ġclass ĠZone ( val Ġzone Id : ĠInt ){ ĊĠĠĠ Ġvar Ġpeers Ġ= Ġmutable Map Of < String , ĠPeer >() ĊĠĠĠ Ġfun Ġadd ( peer : ĠPeer ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( peers [ peer . address ] Ġ== Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpeers [ peer . address ] Ġ= Ġpeer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( peers [ peer . address ] !!. registered Before ( peer )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpeers [ peer . address ] Ġ= Ġpeer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠtoJson : ĠList < Peer Json > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrsp Ġ= Ġmutable ListOf < Peer Json >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpeers . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrsp . add ( it . value . toJson ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġrsp ĊĠĠĠĠĠĠĠ Ġ} Ċ }