int parmOrderIndex = 0;
Code code = method.getCode(false);
Instruction[] ins = code.getInstructions();
for (int i = 0; i < ins.length; i++) {
if (ins[i] instanceof PutFieldInstruction) {
PutFieldInstruction pfi = (PutFieldInstruction)ins[i];
for (int j = 0; j < pkfields.size(); j++) {
int fieldNum = pkfields.get(j);
// Compare the field being set with the current pk field
String parmName = fmds[fieldNum].getName();
Class<?> parmType = fmds[fieldNum].getType();
if (parmName.equals(pfi.getFieldName())) {
// backup and examine the load instruction parm
if (i > 0 && ins[i-1] instanceof LoadInstruction) {
LoadInstruction li = (LoadInstruction)ins[i-1];
// Get the local index from the instruction. This will be the index
// of the constructor parameter. must be less than or equal to the