add generics to arrayobjectwrapper