anchor.diff:    private
       FValue: string;
     public
  -    property Value: string read FValue write FValue;
  +    procedure SetValue(const Value: string); virtual;
  +  public
  +    property Value: string read FValue write SetValue;
     end;
   
     TCsvNamedElement = class(TCsvBaseElement)
     private
       FName: string;
  -    FElementValue: TCsvBaseElement;
  +    function GetElementValue: TCsvBaseElement;
     public
       constructor Create(const AName: string); virtual;
       destructor Destroy; override;
   
  -    procedure SetValue(const AValue: string);
  -
       property Name: string read FName write FName;
  -    property ElementValue: TCsvBaseElement read FElementValue;
  +    property ElementValue: TCsvBaseElement read GetElementValue;
     end;
   
     TCsvObjectElement = class(TCsvBaseElement)
  
positive.code:   Result := FElements.TryGetValue(GetKey(AName), AObject);
  end;
  
  end.
  
negative.code: begin
    inherited Create();
    FName := AName;
  end;
  
  destructor TCsvNamedElement.Destroy;
  begin
    inherited Destroy;
  end;
  
  function TCsvNamedElement.GetElementValue: TCsvBaseElement;
  begin
    Result := TCsvBaseElement(Self);
  end;
  
  { TCsvObjectElement }
  