rearrange finalization code in collect to avoid inifinite recursion when finalizer allocates memory
rearrange finalization code in collect to avoid inifinite recursion when finalizer allocates memory

joshuawarner32/avian,lwahlmeier/avian,marcinolawski/avian,MaartenR/avian,badlogic/avian,bgould/avian,MaartenR/avian,lostdj/avian,joshuawarner32/avian,joshuawarner32/avian,marcinolawski/avian,ucdseniordesign/avian,dicej/avian,lwahlmeier/avian,MaartenR/avian,dicej/avian,badlogic/avian,lostdj/avian,marcinolawski/avian,lwahlmeier/avian,badlogic/avian,getlantern/avian,getlantern/avian,bgould/avian,minor-jason/avian,bgould/avian,bigfatbrowncat/avian-pack.avian,ucdseniordesign/avian,lostdj/avian,joshuawarner32/avian,ucdseniordesign/avian,lostdj/avian,badlogic/avian,marcinolawski/avian,dicej/avian,bigfatbrowncat/avian-pack.avian,bigfatbrowncat/avian-pack.avian,minor-jason/avian,getlantern/avian,minor-jason/avian,ucdseniordesign/avian,lwahlmeier/avian,dicej/avian,bgould/avian,bigfatbrowncat/avian-pack.avian,getlantern/avian,MaartenR/avian,minor-jason/avian