anchor.diff:    fContinue := fILG.DefineLabel;
     fBreak := filg.DefineLabel;
     MarkLabelled(fBreak, fContinue);
  -  filg.MarkLabel(fContinue);
  +  filg.MarkLabel(Label(fContinue));
     WriteExpression(el.ExpressionElement);
     filg.Emit(Opcodes.Call, Utilities.method_GetObjAsBoolean);
  -  filg.Emit(Opcodes.Brfalse, fBreak);
  +  filg.Emit(Opcodes.Brfalse, Label(fBreak));
   
   
     WriteStatement(el.Body);
   
  -  filg.Emit(Opcodes.Br, fContinue);
  -  filg.MarkLabel(fBreak);
  +  filg.Emit(Opcodes.Br, Label(fContinue));
  +  filg.MarkLabel(Label(fBreak));
   
     fBreak := lOldBreak;
     fContinue := lOldContinue;
  
positive.code:   end;
  end;
  
  end.
negative.code:  
     MarkLabelled(fBreak, fContinue);
  
    filg.MarkLabel(Label(fContinue));
    filg.Emit(Opcodes.ldloc, lLocal);
    filg.Emit(Opcodes.CallVirt, lMoveNext);
    filg.Emit(Opcodes.Brfalse, Label(fBreak));
  
    WriteExpression(lWork);
    filg.Emit(Opcodes.Ldloc, lLocal);
  