insList.insert(insFactory.createInvoke(CONTINUATION_CLASS, STACK_METHOD, STACK_TYPE,
Type.NO_ARGS, Constants.INVOKEVIRTUAL));
InstructionHandle restore_handle = insList.insert(InstructionFactory.createLoad(CONTINUATION_TYPE, method.getMaxLocals()));
// if not continuation exists, create empty stack
insList.insert(new GOTO(firstIns));
insList.insert(InstructionFactory.createStore(STACK_TYPE, method.getMaxLocals()+1));
insList.insert(insFactory.createInvoke(STACK_CLASS, Constants.CONSTRUCTOR_NAME, Type.VOID, Type.NO_ARGS, Constants. INVOKESPECIAL));
insList.insert(InstructionFactory.createDup(STACK_TYPE.getSize()));
insList.insert(insFactory.createNew(STACK_TYPE));