I immediately knew that vector3D v = vecIterator.next(); wouldn't work because the return type doesn't match vector3D data type
This is not true. It does match, how else do you think you can access the public members of the vector3D class from vecIterator.next()?
Wooh's post should work exactly as is. I would suggest you try to run it.
you all kept refering to Wooh's fix which can never be the correct fix
Not only is it the correct fix, but had it not been he even explained to you why you should expect to see the behavior you do when running your program. And how you could get the behavior you require.