anchor.diff:      sdAscending: Result := snpNullLast;
       sdDescending: Result := snpNullFirst;
     end;
  +end;
  +
  +function TCustomDataSource<T>.GetItemDisposePolicy : TDisposePolicy;
  +begin
  +  Result := idpNone;
   end;
   
   function TCustomDataSource<T>.ApplyColumnSort(constref Left, Right : T; constref AFilter: TColumnFilter) : Integer;
  
positive.code: 
  { TDataColumn }
  
  class function TDataColumn.From(AName: AnsiString) : TDataColumn;
  begin
    Result.Name := AName;
  end;
  
  { TDataRow }
  
negative.code:   end else Result := false;
  end;
  
  function TCustomDataSource<T>.FetchPage(constref AParams: TPageFetchParams; var ADataTable: TDataTable): TPageFetchResult;
  var
    i, j : SizeInt;
  