public boolean updateBundleWithMapAppend(Bundle bundle) { for (FieldValue fv : list) { ValueObject oldValue = bundle.getValue(fv.field); ValueMap newValue; if (oldValue == null) { newValue = ValueFactory.createMap(); } else if (oldValue instanceof ValueMap) { newValue = (ValueMap) oldValue; } else { newValue = ValueFactory.createMap(); newValue.put(oldValue.asString().asNative(), oldValue); } newValue.put(fv.value.asString().asNative(), fv.value); bundle.setValue(fv.field, newValue); } return !list.isEmpty(); }