anchor.diff:  constructor TDataParams.Create;
   begin
     inherited Create;
  -  FParams := TParams.Create;
  +  FList := TInterfaceList.Create;
   end;
   
   class function TDataParams.New: IDataParams;
  
positive.code:   Result := FOrigin.Size;
  end;
  
  { TDataResult }
  
  constructor TDataResult.Create(Value: Variant; const Message: string);
  begin
    inherited Create;
    FValue := Value;
    FMessage := Message;
  end;
  
  class function TDataResult.New(Value: Variant; const Message: string
    ): IDataResult;
  begin
    Result := Create(Value, Message);
  end;
  
  function TDataResult.Value: Variant;
  begin
    Result := FValue;
  end;
  
  function TDataResult.AsBoolean: Boolean;
  begin
    if VarIsNull(FValue) then
      Result := False
    else
      Result := FValue;
  end;
  
  function TDataResult.Message: string;
  begin
    Result := FMessage;
  end;
  
  { TDataParams }
  
negative.code: var
    I: Integer;
  begin
    Result := Self.New;
    for I := 0 to Origin.Count -1 do
      with Origin[I] do
        Result.Add(FieldName, DataType, Value);
  