}
@Override
public final void generateInsn() {
new NOP(getExecuteBlock());
if(member.getParamterizedType().isArray()){
final LocalVariable i = createVariable(null, AClass.INT_ACLASS, true, Value.value(0));
new GOTO(getExecuteBlock(), conditionLbl);
new NOP(getExecuteBlock());
new Marker(getExecuteBlock(), startLbl);
new NOP(getExecuteBlock());
LocalVariable obj = createVariable(null, ((ArrayClass)member.getParamterizedType()).getNextDimType(), true, arrayLoad(member, i) );
generateBody(obj);
new Marker(getExecuteBlock(), continueLbl);
afterInc(i);
new Marker(getExecuteBlock(), conditionLbl);
condition = lessThan(i, arrayLength(member));
//((LessThan)condition).setJumpLable(startLbl);
}else{
final LocalVariable itr = createVariable(null, AClass.ITERATOR_ACLASS, true, invoke(member, "iterator"));
new GOTO(getExecuteBlock(), conditionLbl);
new Marker(getExecuteBlock(), startLbl);
new NOP(getExecuteBlock());
LocalVariable obj = createVariable(null, AClass.OBJECT_ACLASS, true, invoke(itr, "next"));
generateBody(obj);
new Marker(getExecuteBlock(), continueLbl);