package Ġcom . co ach . fl ame . domain Ċ Ċ import Ġjava . time . LocalDate Ċ import Ġjava . util .* Ċ import Ġjava . util . Objects . hash Ċ Ċ data Ġclass ĠCo ach Dto ( ĊĠĠĠ Ġoverride Ġval Ġid : ĠLong ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġidentifier : ĠUUID , ĊĠĠĠ Ġoverride Ġval ĠfirstName : ĠString , ĊĠĠĠ Ġoverride Ġval ĠlastName : ĠString , ĊĠĠĠ Ġoverride Ġval Ġbirthday : ĠLocalDate ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġphone Code : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval ĠphoneNumber : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġcountry : ĠCountry Dto ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġgender : ĠGender Dto ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġcustomer Type : ĠCustomer Type Dto , ĊĠĠĠ Ġoverride Ġval Ġlogin Info : ĠLogin Info Dto ?, ĊĠĠĠ Ġoverride Ġval Ġregistration Date : ĠLocalDate , ĊĠĠĠ Ġval ĠlistOf Clients : ĠSet < Client Dto > Ġ= Ġmutable Set Of (), Ċ ) Ġ: ĠCustomer Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠCo ach Dto ĊĊĠĠĠĠĠĠĠ Ġif Ġ( identifier Ġ!= Ġother . identifier ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhash ( identifier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Co ach Dto (" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" identifier =$ identifier , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" firstName ='$ firstName ', Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lastName ='$ lastName ', Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" birthday =$ birthday , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" phone Code =$ phone Code , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" phoneNumber =$ phoneNumber , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" country =$ country , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" gender =$ gender , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" customer Type =$ customer Type , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" login Info =$ login Info , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" registration Date =$ registration Date , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" listOf Clients =$ listOf Clients " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ")" ĊĠĠĠ Ġ} Ċ } ĊĊ