add recurisve ArrayObject helper