When transferring a large number of objects (e.g. from a server to a client), in one call, then, after a predefined (4M?) limit, the internal buffer used in CDROutputStream is being re-allocated with a very small amount, so remaining data will be very slowly transferred (as the buffer is reallocated each time with that small amount). A minimal solution would be to increase the buffer size with - for example - 10% , right before BufferManager.getBuffer call, in CDROutputStream#check(int) method.
*** This bug has been marked as a duplicate of 142 ***