if (index == fields.size()) {
// CAUTION, HACK!: for brevity we reuse the access field and the value field of the FieldNode
// for keeping track of the original var index as well as the FieldNodes Type (respectively)
// so we need to make sure that we correct for this when the field is actually written
Type type = node.getResultValue().getType();
fields.add(new FieldNode(insn.var, "field$" + index, type.getDescriptor(), null, type));
}
// normalize the instruction so instruction groups that are identical except for the variable
// indexes are still mapped to the same group class (name)
insn.var = index;