MultiOccurrenceVariableRef d = MultiOccurrenceVariableRef.from(destination);
MultiOccurrenceVariableRef s = MultiOccurrenceVariableRef.from(source);
StringBuilder out = new StringBuilder();
out.append(s.ifNotNull());
out.append("{\n");
MultiOccurrenceVariableRef newDest = new MultiOccurrenceVariableRef(destination.type(), "new_" + destination.name());
if (d.isAssignable()) {
out.append(statement(newDest.declare(d.newMap())));