if (i > maxOccurs && maxOccurs > -1) {
// fail
throw new RuntimeException("Too many elements");
}
DeserializationTarget target;
if (maxOccurs == -1 || maxOccurs > 1) {
if (value == null) value = new ArrayList();
target = new IndexedParamTarget(this, i);
} else {
target = new ParamTarget(this);