if (!providesLogicalStructure(value)) {
return null;
}
List<IJavaVariable> variables = new ArrayList<IJavaVariable>();
IJavaValue id = null;
IJavaValue processId = null;
IJavaValue processName = null;
IVariable[] vars = value.getVariables();
for ( int j = 0; j < vars.length; j++ ) {
IVariable var = vars[j];
if ("id".equals(var.getName())) {
id = (IJavaValue)var.getValue();
} else if ("process".equals(var.getName())) {
IJavaValue process = (IJavaValue) var.getValue();
IVariable[] vars2 = process.getVariables();
for ( int k = 0; k < vars2.length; k++ ) {
IVariable var2 = vars2[k];
if ("id".equals(var2.getName())) {
processId = (IJavaValue) var2.getValue();
} else if ("name".equals(var2.getName())) {
processName = (IJavaValue) var2.getValue();
}
}
}
}
variables.add(new VariableWrapper("id", id));
variables.add(new VariableWrapper("processName", processName));
variables.add(new VariableWrapper("processId", processId));
IJavaArray nodeInstances = (IJavaArray) DebugUtil.getValueByExpression("return getNodeInstances().toArray();", value);
List<IVariable> nodeInstancesResult = new ArrayList<IVariable>();
IJavaValue[] javaVals = nodeInstances.getValues();
for ( int i = 0; i < javaVals.length; i++ ) {
IJavaValue nodeInstance = javaVals[i];
id = null;
vars = nodeInstance.getVariables();
for ( int j = 0; j < vars.length; j++ ) {
IVariable var = vars[j];
if ("id".equals(var.getName())) {
id = (IJavaValue) var.getValue();
}