access tobject bytebuffer directly to get size and avoid copying