package Ġm ary k . core . processors . datastore Ċ Ċ import Ġm ary k . core . properties . definitions . Increment ing Map Definition Ċ import Ġm ary k . core . properties . definitions . Is Map Definition Ċ import Ġm ary k . core . properties . definitions . Is Sub Definition Ċ import Ġm ary k . lib . extensions . compare . prev Byte In Same Length Ċ Ċ /** Ġ[ add Values ] Ġto Ġan Ġincrement ing Ġmap Ġdefined Ġby Ġ[ definition ] Ġwith Ġ[ current Inc Map Key ] Ġto Ġstorage Ġwith Ġ[ value Writer ]. Ġ*/ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< K : ĠComparable < K >, ĠV Ġ: ĠAny , ĠD Ġ: ĠIncrement ing Map Definition < K , ĠV , Ġ* >> Ġwrite Inc Map Add itions To Storage ( ĊĠĠĠ Ġcurrent Inc Map Key : ĠByteArray , ĊĠĠĠ Ġvalue Writer : ĠValue Writer < D >, ĊĠĠĠ Ġdefinition : ĠD , ĊĠĠĠ Ġadd Values : ĠList < V > Ċ ): ĠMutable List < K > Ġ{ ĊĠĠĠ Ġval Ġqualifier Length Ġ= Ġcurrent Inc Map Key . size ĊĠĠĠ Ġvar Ġnext Inc Map Key Ġ= Ġcurrent Inc Map Key ĊĠĠĠ Ġval Ġqualifier Writer : ĠQual ifier Writer Ġ= Ġ{ Ġwriter Ġ-> ĊĠĠĠĠĠĠĠ Ġfor Ġ( write Index Ġin Ġ 0 .. next Inc Map Key . last Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter ( next Inc Map Key [ write Index ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġadded Keys Ġ= Ġmutable ListOf < K >() ĊĊĠĠĠ Ġ// ĠProcess ĠMap ĠValues ĊĠĠĠ Ġval Ġmap Definition Ġ= Ġ( definition Ġas ĠIs Map Definition < in ĠAny , Ġ*, Ġ* >) ĊĠĠĠ Ġfor Ġ( map Value Ġin Ġadd Values ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInc ĠMap Ġkeys Ġare Ġstored Ġin Ġreverse Ġorder Ġso Ġlatest Ġis Ġalways Ġfirst . ĊĠĠĠĠĠĠĠ Ġ// ĠSo Ġlower Ġthe Ġlatest Ġvalue Ġto Ġget Ġat Ġthe Ġnext Ġvalue ĊĠĠĠĠĠĠĠ Ġnext Inc Map Key Ġ= Ġnext Inc Map Key . prev Byte In Same Length ( definition . key Definition . byte Size ) ĊĠĠĠĠĠĠĠ Ġwrite Value ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġqualifier Length , Ġqualifier Writer , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Definition . value Definition , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Value , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Writer Ġas ĠValue Writer < Is Sub Definition < *, Ġ* >> ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠAdd Ġkey Ġto Ġlist Ġto Ġsend Ġback Ġto Ġrequest er ĊĠĠĠĠĠĠĠ Ġvar Ġkey Index Ġ= Ġcurrent Inc Map Key . size Ġ- Ġdefinition . key Definition . byte Size ĊĠĠĠĠĠĠĠ Ġadded Keys . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . key Definition . read Storage Bytes ( definition . key Definition . byte Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Inc Map Key [ key Index ++] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġadded Keys Ċ } Ċ