anchor.diff:  
   procedure TListViewListItemMediator.BeforeDestruction;
   begin
  -  FModel.DetachObserver(self);
  -  FModel := nil;
  +  Model.DetachObserver(self);
  +  Model := nil;
     FView  := nil;
     inherited BeforeDestruction;
   end;
  
positive.code:   i: integer;
    lvalue, lFieldName: string;
  begin
    Assert(FModel = ASubject);
    for i := 0 to FFieldsInfo.Count - 1 do
    begin
      lFieldName := FFieldsInfo[I].PropName;
      lValue     := FModel.PropValue[lFieldName];
      if Assigned(OnBeforeSetupField) then
        OnBeforeSetupField(FModel, lFieldName, lValue);
      FView.Cells[i, FRowIndex] := lValue;
    end;
  end;
  
negative.code:   lMemberName: string;
    lValue: string;
  begin
    Assert(Model = ASubject);
  
    lMemberName := FFieldsInfo[0].PropName;
    lValue      := Model.PropValue[lMemberName];
    if Assigned(OnBeforeSetupField) then
      OnBeforeSetupField(Model, lMemberName, lValue);
  
    FView.Caption := lValue;
  
    for c := 1 to FFieldsInfo.Count - 1 do
    begin
      lMemberName := FFieldsInfo[c].PropName;
      lValue      := Model.PropValue[lMemberName];
      if Assigned(OnBeforeSetupField) then
        OnBeforeSetupField(Model, lMemberName, lValue);
      FView.SubItems[c - 1] := lValue;
    end;
  end;
  