anchor.diff:  
     TAccountsDataSourceBase = class(TCustomDataSource<TAccount>)
       protected
  -      function GetItemDisposePolicy : TDisposePolicy; override;
         function GetColumns : TDataColumns; override;
       public
         function GetItemField(constref AItem: TAccount; const ABindingName : AnsiString) : Variant; override;
  
positive.code:  node := TNode.Node;
   if Not Assigned(Node) then exit;
   FEnd := node.Bank.BlocksCount - 1;
   FStart := ClipValue(FEnd - (Round( ASpan.TotalSeconds / CT_NewLineSecondsAvg ) + 1), 0, FEnd);
   //XXXXXXXXXX TTimeSpan use not available at TPCOperationsComp  FStart := ClipValue(FEnd - (TPCOperationsComp.ConvertTimeSpanToBlockCount(ASpan) + 1), 0, FEnd);
  end;
  
  function TOperationsDataSourceBase.GetItemDisposePolicy : TDisposePolicy;
  begin
    Result := idpNone;
  end;
  
  function TOperationsDataSourceBase.GetColumns : TDataColumns;
  
negative.code:       AContainer.Add( blockOps.GetMinerRewardPseudoOperation );
        if blockOps.Count = 0 then exit;
        for i := blockOps.Count - 1 downto 0 do begin    // reverse order
          if TPCOperation.OperationToOperationResume(block, blockOps.Operation[i], false, blockOps.Operation[i].SignerAccount, opr) then begin
            opr.NOpInsideBlock := i;
            opr.Block := block;
            opr.time := blockOps.OperationBlock.timestamp;
  