package Ġio . mock k . impl . inst anti ation Ċ Ċ import Ġjava . util .* Ċ Ċ class ĠRef Counter Map < T > Ġ{ ĊĠĠĠ Ġval Ġcounter Ġ= ĠWeak HashMap < T , ĠInt >() ĊĊĠĠĠ Ġfun Ġincrement Ref Cnt ( cls : ĠT ) Ġ= ĊĠĠĠĠĠĠĠ Ġsynchronized ( counter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcnt Ġ= Ġcounter [ cls ] Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter [ cls ] Ġ= Ġcnt Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcnt Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdecrement Ref Cnt ( cls : ĠT ) Ġ= ĊĠĠĠĠĠĠĠ Ġsynchronized ( counter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcnt Ġ= Ġcounter [ cls ] Ġ?: Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter [ cls ] Ġ= Ġcnt Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcnt Ġ== Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ }