anchor.diff:      FName: TDValueItem;
       FValue: TDValueItem;
       FNodeType: TDValueNodeType;
  -    
  +    FParent: TDValueNode;
  +
       {$IFDEF HAVE_GENERICS}
       FChildren: TList<TDValueNode>;
       {$ELSE}
  
positive.code:     /// </summary>
      procedure CheckSetNodeType(pvType:TDValueNodeType);
  
      function ItemByName(pvName:string):TDValueItem;
  
      property Count: Integer read GetCount;
      property Name: TDValueItem read FName;
      property Value: TDValueItem read FValue;
    end;
  
    TDValueItem = class(TObject)
  
negative.code:     procedure CheckCreateChildren;
      procedure CreateName();
      procedure DeleteName();
      function GetItems(Index: Integer): TDValueNode;
      /// <summary>
      ///   Ʋӽڵ
      /// </summary>
      function IndexOf(pvName: string): Integer;
  
      /// <summary>
      ///   ·Ҷڷnil
      /// </summary>
      /// <returns>
      ///   ڷҵĶڷnil
      /// </returns>
      /// <param name="pvPath"> Ҫҵ· </param>
      /// <param name="vParent"> ҵ󷵻ҵĸڵ </param>
      /// <param name="vIndex"> ҵ,ʾڸڵеֵ </param>
      function InnerFindByPath(pvPath: string; var vParent:TDValueNode; var vIndex:
          Integer): TDValueNode;
    public
      constructor Create(pvType: TDValueNodeType);
      
  