import Ġmodel . A partment Unit Ċ Ċ interface ĠUnit Comparer Ġ{ ĊĠĠĠ Ġfun Ġget New Units ( old Data : ĠCollection < A partment Unit >, ĠnewData : ĠCollection < A partment Unit >) Ġ: ĠCollection < A partment Unit > Ċ } Ċ Ċ class ĠUnit Comparer Impl : ĠUnit Comparer Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget New Units ( old Data : ĠCollection < A partment Unit >, ĠnewData : ĠCollection < A partment Unit >): ĠCollection < A partment Unit > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnew Units Ġ= Ġmutable ListOf < A partment Unit >() ĊĊĠĠĠĠĠĠĠ ĠnewData . forEach Ġ{ Ġcurrent Unit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġunit Exists Ġ= Ġold Data . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ== Ġcurrent Unit . id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! unit Exists ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Units . add ( current Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnew Units ĊĠĠĠ Ġ} Ċ }