a = new LabelledAction();
a.boundName = sf.boundName;
if (!sf.update) {
a.action = new ActionSetField(sf.boundName);
} else {
a.action = new ActionUpdateField(sf.boundName);
}
actions.add(a);
} else if (sf.update && !(a.action instanceof ActionUpdateField)) {
//lets swap it out for an update as the user has asked for it.
ActionSetField old = (ActionSetField) a.action;
ActionUpdateField update = new ActionUpdateField(sf.boundName);
update.fieldValues = old.fieldValues;
a.action = update;
}
ActionSetField asf = (ActionSetField) a.action;
ActionFieldValue val = new ActionFieldValue(sf.factField, cell, sf.type);