package Ġcom . example . recorder . model Ċ Ċ import Ġjava . util .* Ċ data Ġclass ĠRaw Packet ( ĊĠĠĠ Ġval ĠbyteArray : ĠByteArray , ĊĠĠĠ Ġval Ġtimestamp : ĠDate Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠRaw Packet ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! byteArray . content Equals ( other . byteArray )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( timestamp Ġ!= Ġother . timestamp ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= ĠbyteArray . content HashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġtimestamp . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }