Map<Integer, LocalVariable> variables = new HashMap<Integer, LocalVariable>();
CodeAttribute codeAttribute = behavior.getMethodInfo().getCodeAttribute();
LocalVariableAttribute localVariableAttribute = (LocalVariableAttribute) codeAttribute.getAttribute("LocalVariableTable");
LOGGER.debug("search vars : " + localVariableAttribute + " > " + (localVariableAttribute != null ? localVariableAttribute.tableLength() : 0));
if(localVariableAttribute != null) {
for(int i = 0; i < localVariableAttribute.tableLength(); i++) {
boolean isParameter = isStatic ? i < nbParameters : (i > 0 && i <= nbParameters);
LocalVariable localVariable = new LocalVariable(i, localVariableAttribute.variableName(i), LocalVariableType.parse(localVariableAttribute.signature(i)), isParameter, behavior);
variables.put(i, localVariable);
LOGGER.debug(String.format("findLocalVariables: foud var %s is '%s' (slot %s)", i, localVariable.name, localVariable.getSlot()));
}