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
// max parm index to prevent from picking up locals that could have
// been produced within the constructor. Also make sure the parm type
// matches the fmd type
int parm = li.getLocal();
if (parm <= pkfields.size() && parmTypes[parm-1].equals(parmType)) {
parmOrder[parmOrderIndex] = fieldNum;
parmOrderIndex++;
}
} else {