anchor.diff:    FXML.WriterSettings.WriteBOM := False;
     FRoot := nil;
     FRootElement := nil;
  +  FGarbage := TObjectList.Create(true);
   end;
   
   destructor TImpl_oxml_mXmlDocument.Destroy;
   begin
  +  Self._Clear;
  +  FreeAndNil(FRootElement);
  +  FGarbage.Free;
     inherited;
   end;
   
  
positive.code:   ParentNode : PXMLNode;
    i : integer;
    NewElement : TmXmlElement;
  begin
    ParentNode := (aParent as TImpl_oxml_mXmlElement).FNode;
    if CompareText(aFilter, '') = 0 then
    begin
      for i := 0 to ParentNode^.ChildCount -1 do
      begin
        NewElement := TmXmlElement.Create(Tmxml_oxml_PointerShell.Create(ParentNode^.ChildNodes[i]));
        FList.Add(NewElement);
      end;
    end
  
negative.code:     FXML: IXMLDocument;
      FRoot : PXMLNode;
      FRootElement : TmXmlElement;
      FGarbage : TObjectList;
    public
      constructor Create; override;
      destructor Destroy; override;
  