package Ġcom . template . states Ċ Ċ import Ġcom . fasterxml . jackson . annotation . Json Getter Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Ċ import Ġcom . template . utils . Custom ised Party Ċ import Ġcom . template . utils . empty Owner Ċ import Ġnet . cord a . core . contracts . Contract State Ċ import Ġnet . cord a . core . crypto . Null Keys Ċ import Ġnet . cord a . core . identity . Abstract Party Ċ import Ġnet . cord a . core . identity . C ord a X 5 0 0 Name Ċ import Ġnet . cord a . core . identity . Party Ċ import Ġnet . cord a . core . node . Service Hub Ċ import Ġjava . security . PublicKey Ċ Ċ data Ġclass ĠHouse State ( val Ġhouse Number : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaddress : String , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonIgnore Ġval Ġm unicip al Cor poration : ĠParty , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ JsonIgnore Ġval Ġowner : ĠParty ) Ġ: Contract State { ĊĊĠĠĠ Ġoverride Ġval Ġparticipants : ĠList < Abstract Party > Ġ= ĠlistOf ( owner , Ġm unicip al Cor poration ) ĊĊĠĠĠ Ġ@ Json Getter (" municip al Cor poration ") ĊĠĠĠ Ġfun Ġfetch M unicip al Cor poration (): ĠCustom ised Party { ĊĠĠĠĠĠĠĠ Ġreturn ĠCustom ised Party ( municip al Cor poration ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Json Getter (" owner ") ĊĠĠĠ Ġfun Ġfetch Owner (): ĠCustom ised Party { ĊĠĠĠĠĠĠĠ Ġreturn ĠCustom ised Party ( owner ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith New Owner ( new Owner Ġ: ĠParty ): ĠHouse State { ĊĠĠĠĠĠĠĠ Ġreturn Ġcopy ( owner Ġ= Ġnew Owner ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwithout Owner () Ġ: ĠHouse State { ĊĠĠĠĠĠĠĠ Ġreturn Ġcopy ( owner Ġ= Ġempty Owner ()) ĊĠĠĠ Ġ} Ċ }