introduce a factory method in VirtualArrayIterator