anchor.diff:  
   procedure DoTreeviewCopy(Src, Dst: TTreeView);
   var
  +  SrcItem, DstItem: TTreeNode;
  +  R, R2: TATRangeInCodeTree;
     i: integer;
   begin
     Dst.BeginUpdate;
  
positive.code:   ImgList, Dialogs, Forms,
    LclIntf, LclType, LazFileUtils, StrUtils,
    ATSynEdit,
    ATSynEdit_Export_HTML,
    ATStringProc,
    ATListbox,
  
negative.code:       Dst.Selected:= Dst.Items[Src.Selected.AbsoluteIndex];
  
      for i:= 0 to Src.Items.Count-1 do
      begin
        SrcItem:= Src.Items[i];
        DstItem:= Dst.Items[i];
  
        DstItem.Expanded:= SrcItem.Expanded;
  
        //copying of Item.Data, must create new range
        if SrcItem.Data<>nil then
          if TObject(SrcItem.Data) is TATRangeInCodeTree then
          begin
            R:= TATRangeInCodeTree(SrcItem.Data);
            R2:= TATRangeInCodeTree.Create;
            R2.Assign(R);
            DstItem.Data:= R2;
          end;
      end;
    finally
      Dst.EndUpdate;
    end;
  