for(int i = 0; i < dataTypes.length; ++ i) {
Object op1 = data[i];
iMarshal.writeObject(dataTypes[i], data[i]);
IUnmarshal iUnmarshal = iProtocol.createUnmarshal(iMarshal.reset());
Object op2 = iUnmarshal.readObject(dataTypes[i]);
if(op1 instanceof Any)
op1 = ((Any)op1).getObject();