List<Holder> holders = CastUtils.cast((List)exchange.get(CLIENT_HOLDERS));
for (MessagePartInfo part : parts) {
int idx = part.getIndex();
if (idx >= 0) {
Holder holder = holders.get(holderIdx);
holder.value = inObjects.get(partIdx);
holderIdx++;
partIdx++;
}
}
} else {
for (MessagePartInfo part : parts) {
int idx = part.getIndex();
if (idx >= 0) {
if (part.getProperty(ReflectionServiceFactoryBean.MODE_INOUT) != null) {
Object object = inObjects.get(idx);
inObjects.set(idx, new Holder<Object>(object));
} else {
inObjects.add(idx, new Holder());
}
}
}
}
}