package Ġcom . vp aliy . medi ap layer . data . mapper Ċ Ċ abstract Ġclass ĠMapper < R , ĠF > Ġ{ ĊĠ Ġfun Ġreverse ( list : ĠList < R >? ): ĠList < F >? Ġ{ ĊĠĠĠ Ġreturn Ġlist ?. let Ġ{ ĊĠĠĠĠĠ Ġval Ġresult Ġ= Ġarray ListOf < F >() ĊĠĠĠĠĠ Ġlist . forEach ({ ĊĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġreverse ( it ) ĊĠĠĠĠĠĠĠ Ġelement ?. let Ġ{ Ġresult . add ( element ) Ġ} ĊĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġmap ( list : ĠList < F >? ): ĠList < R >? Ġ{ ĊĠĠĠ Ġreturn Ġlist ?. let Ġ{ ĊĠĠĠĠĠ Ġval Ġresult Ġ= Ġarray ListOf < R >() ĊĠĠĠĠĠ Ġlist . forEach ({ ĊĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġmap ( it ) ĊĠĠĠĠĠĠĠ Ġelement ?. let Ġ{ Ġresult . add ( element ) Ġ} ĊĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġabstract Ġfun Ġmap ( fake : ĠF ?): ĠR ? ĊĠ Ġabstract Ġfun Ġreverse ( real : ĠR ?): ĠF ? Ċ }