if (fieldMap.getInverse() != null) {
VariableRef inverse = new VariableRef(fieldMap.getInverse(), destination);
if (inverse.isCollection()) {
MultiOccurrenceVariableRef inverseCollection = MultiOccurrenceVariableRef.from(inverse);
ipStmt += inverse.ifNull() + inverse.assign(inverseCollection.newCollection()) + ";";
ipStmt += format("%s.add(%s);", inverse, destination.owner());
} else if (inverse.isArray()) {
ipStmt += "/* TODO Orika source code does not support Arrays */";
} else {
ipStmt += statement(inverse.assign(destination.owner()));