new SingleNameReference(valueName, 0L)};
} else {
thisDotFieldDotAdd.arguments = new Expression[] {new SingleNameReference(keyName, 0L)};
}
thisDotFieldDotAdd.receiver = thisDotField;
<BUG>thisDotFieldDotAdd.selector = (mapMode ? "put" : "add").toCharArray();
</BUG>
statements.add(thisDotFieldDotAdd);
if (returnStatement != null) statements.add(returnStatement);
md.statements = statements.toArray(new Statement[statements.size()]);

new SingleNameReference(valueName, 0L)};
} else {
thisDotFieldDotAdd.arguments = new Expression[] {new SingleNameReference(keyName, 0L)};
}
thisDotFieldDotAdd.receiver = thisDotField;
thisDotFieldDotAdd.selector = (shouldUsePut(data, mapMode) ? "put" : "add").toCharArray();
statements.add(thisDotFieldDotAdd);
if (returnStatement != null) statements.add(returnStatement);
md.statements = statements.toArray(new Statement[statements.size()]);
