I am not sure why would you want to wrap the ObjectInputStream with a ByteArrayInputStream.
RMIIO with chunk your stream in default or specified chunk sizes and the reader (also RMIIO) will also read in similar chunks.
I am also not so sure whether you can chunk it based on the number of objects in each chunk but in my opinion, it should not matter.
I would recommend you to try out the examples in RMIIO to understand how it works. Sending a normal file or a stream of objects using RMIIO is not different.
the reason you are confused is that you generally do not use the RemoteIteratorServer class directly. if, for instance, you had serializable objects, you would use the SerialRemoteIteratorServer with an iterator which returns some serializable objects. see the example iterator TestClient (possibly somewhat confusingly named).