anchor.diff:  begin
     if FParent <> nil then
       FParent.UnregisterSubNode(self);
  +  FData := nil;
     inherited Destroy;
   end;
   
  
positive.code: 
    TfpgTreeNode = class(TObject)
    private
      FFirstSubNode: TfpgTreeNode; // the subnodes - for list implementation
      FLastSubNode: TfpgTreeNode;
      FText: string;
      FParent: TfpgTreeNode;
      FNext: TfpgTreeNode;
      FPrev: TfpgTreeNode;
      FCollapsed: boolean;
      FSelColor: TfpgColor;
      FTextColor: TfpgColor;
      FSelTextColor: TfpgColor;
      FInactSelColor: TfpgColor;
      FInactSelTextColor: TfpgColor;
      FImageIndex: integer;
      procedure   SetCollapsed(const AValue: boolean);
      procedure   SetInactSelColor(const AValue: TfpgColor);
      procedure   SetInactSelTextColor(const AValue: TfpgColor);
  
negative.code:     constructor Create;
      destructor  Destroy; override;
      // node related
      function    AppendText(AText: string): TfpgTreeNode;
      function    Count: integer;
      function    CountRecursive: integer;
      function    FindSubNode(AText: string; ARecursive: Boolean): TfpgTreeNode;
      function    GetMaxDepth: integer;
      function    GetMaxVisibleDepth: integer;
      procedure   Append(aValue: TfpgTreeNode);
      procedure   Clear;  // remove all nodes recursively
      procedure   Collapse;
      procedure   Expand;
      procedure   Remove(aNode: TfpgTreeNode);
      procedure   UnregisterSubNode(aNode: TfpgTreeNode);
      // parent color settings
      function    ParentInactSelColor: TfpgColor;
      function    ParentInactSelTextColor: TfpgColor;
      function    ParentSelColor: TfpgColor;
      function    ParentSelTextColor: TfpgColor;
      function    ParentTextColor: TfpgColor;
      // general properties
      property    Collapsed: boolean read FCollapsed write SetCollapsed;
      property    Data: Pointer read FData write FData;
      property    FirstSubNode: TfpgTreeNode read FFirstSubNode;
      property    ImageIndex: integer read FImageIndex write FImageIndex;
      property    LastSubNode: TfpgTreeNode read FLastSubNode;
      property    Next: TfpgTreeNode read FNext write FNext;
      property    Parent: TfpgTreeNode read FParent write SetParent;
      property    Prev: TfpgTreeNode read FPrev write FPrev;
      property    Text: string read FText write SetText;
      // color settings
      property    InactSelColor: TfpgColor read FInactSelColor write SetInactSelColor;
      property    InactSelTextColor: TfpgColor read FInactSelTextColor write SetInactSelTextColor;
      property    SelColor: TfpgColor read FSelColor write SetSelColor;
      property    SelTextColor: TfpgColor read FSelTextColor write SetSelTextColor;
      property    TextColor: TfpgColor read FTextColor write SetTextColor;
    end;
    
    
  