package Ġnet . cord a . core . node Ċ Ċ import Ġnet . cord a . core . identity . Party Ċ import Ġnet . cord a . core . identity . Party And Certificate Ċ import Ġnet . cord a . core . serialization . C ord a Serializable Ċ import Ġnet . cord a . core . utilities . Network Host And Port Ċ Ċ /** Ċ Ġ* ĠInfo Ġabout Ġa Ġnetwork Ġnode Ġthat Ġacts Ġon Ġbehalf Ġof Ġsome Ġform Ġof Ġcontract Ġparty . Ċ Ġ* Ġ@ param Ġlegal Id entities And Certs Ġis Ġa Ġnon - empty Ġlist , Ġwhere Ġthe Ġfirst Ġidentity Ġis Ġassumed Ġto Ġbe Ġthe Ġdefault Ġidentity Ġof Ġthe Ġnode . Ċ Ġ*/ Ċ // ĠTODO ĠWe Ġcurrently Ġdon 't Ġsupport Ġmulti - IP / multi - identity Ġnodes , Ġwe Ġonly Ġleft Ġslots Ġin Ġthe Ġdata Ġstructures . Ċ @ C ord a Serializable Ċ data Ġclass ĠNode Info ( val Ġaddresses : ĠList < Network Host And Port >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlegal Id entities And Certs : ĠList < Party And Certificate >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplatform Version : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġserial : ĠLong Ċ ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( legal Id entities And Certs . isNotEmpty ()) Ġ{ Ġ" Node Ġshould Ġhave Ġat Ġleast Ġone Ġlegal Ġidentity " Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transient Ġprivate Ġvar Ġ_ legal Id entities : ĠList < Party >? Ġ= Ġnull ĊĠĠĠ Ġval Ġlegal Id entities : ĠList < Party > Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ legal Id entities Ġ?: Ġlegal Id entities And Certs . map Ġ{ Ġit . party Ġ}. also Ġ{ Ġ_ legal Id entities Ġ= Ġit Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠReturns Ġtrue Ġif Ġ[ party ] Ġis Ġone Ġof Ġthe Ġident ities Ġof Ġthis Ġnode , Ġelse Ġfalse . Ġ*/ ĊĠĠĠ Ġfun Ġis Legal Identity ( party : ĠParty ): ĠBoolean Ġ= Ġparty Ġin Ġlegal Id entities Ċ } Ċ