}
} else if (isListRecord) {
List<FieldName> contextRecordFieldNames = ((RecordType)unconstrainedListElementType).getHasFieldNames();
RecordValueNode currentRecordValue = (RecordValueNode)listElementNode;
for (int j = 0, n = currentRecordValue.getNFieldNames(); j < n; j++) {
ValueNode currentFieldItem = currentRecordValue.getValueAt(j);
TypeExpr unconstrainedFieldType;
if (contextRecordFieldNames.contains(currentRecordValue.getFieldName(j))) {
unconstrainedFieldType = ((RecordType)unconstrainedListElementType).getHasFieldType(currentRecordValue.getFieldName(j));
} else {
// This field does not exist in the context; then it was added to our list type
// while the node was bound.