private ExposedByteArrayOutputStream marshallParameters(
CacheRpcCommand cmd, StreamingMarshaller marshaller) throws IOException {
BufferSizePredictor sizePredictor = marshaller.getBufferSizePredictor(cmd);
int estimatedSize = sizePredictor.nextSize(cmd);
ExposedByteArrayOutputStream baos = new ExposedByteArrayOutputStream(estimatedSize);
ObjectOutput output = marshaller.startObjectOutput(baos, true, estimatedSize);
try {
cmdExt.writeCommandParameters(output, cmd);
} finally {
marshaller.finishObjectOutput(output);
}