anchor.diff:  ////////////////////////////////////////////////////////////////////////////////
   
   class procedure TTrain.UvolV(old: TTrainHVs; new: TTrainHVs);
  -var new_addr, old_addr: Integer;
  -    keep: TList<Integer>;
  +var keep: TList<Integer>;
   begin
    keep := TList<Integer>.Create();
   
    try
  -   for new_addr in new do
  -     for old_addr in old do
  +   for var new_addr in new do
  +     for var old_addr in old do
          if (new_addr = old_addr) then
             keep.Add(new_addr);
   
  -   for old_addr in old do
  +   for var old_addr in old do
       begin
        if (not keep.Contains(old_addr)) then
         begin
  
positive.code: ////////////////////////////////////////////////////////////////////////////////
  
  procedure TTrain.LoadFromFile(ini: TMemIniFile; const section: string);
  var addr: Integer;
      data: TStrings;
      s: string;
  begin
   Self.data.name := ini.ReadString(section, 'nazev', section);
   Self.data.carsCount := ini.ReadInteger(section, 'vozu', 0);
  
negative.code: end;
  
  procedure TTrain.OnPredictedSignalChange();
  begin
   for var addr in Self.HVs do
     HVDb[addr].OnPredictedSignalChange();
  end;
  
  procedure TTrain.OnExpectedSpeedChange();
  begin
   for var addr in Self.HVs do
     HVDb[addr].OnExpectedSpeedChange();
  end;
  
  