package Ġcom . ort . fire w olf . domain . model . v illage . setting Ċ Ċ data Ġclass ĠV illage Char ach ip ( ĊĠĠĠ Ġval Ġdummy Char a Id : ĠInt , ĊĠĠĠ Ġval Ġchar ach ip Id : ĠInt Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdummy Char a Id : ĠInt ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchar ach ip Id : ĠInt ? ĊĠĠĠĠĠĠĠ Ġ): ĠV illage Char ach ip Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( dummy Char a Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( char ach ip Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠV illage Char ach ip ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdummy Char a Id Ġ= Ġdummy Char a Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchar ach ip Id Ġ= Ġchar ach ip Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }