anchor.diff:      begin
         if CompareText(aFilter, ParentNode^.ChildNodes[i]^.NodeName) = 0 then
         begin
  -        NewElement := TmXmlElement.Create(Tmxml_oxml_PointerShell.Create(ParentNode^.ChildNodes[i]));
  +        tmp := Tmxml_oxml_PointerShell.Create(ParentNode^.ChildNodes[i]);
  +        FGarbage.Add(tmp);
  +        NewElement := TmXmlElement.Create(tmp);
           FList.Add(NewElement);
         end;
       end;
  
positive.code:     FXML: IXMLDocument;
      FRoot : PXMLNode;
      FRootElement : TmXmlElement;
    public
      constructor Create; override;
      destructor Destroy; override;
  
negative.code: constructor TImpl_oxml_mXmlElement.Create;
  begin
    FNode := nil;
    FGarbage := TObjectList.Create(true);
  end;
  
  destructor TImpl_oxml_mXmlElement.Destroy;
  begin
    FGarbage.Free;
    inherited Destroy;
  end;
  
  procedure TImpl_oxml_mXmlElement.RaiseMissingAttributeException (Name :TmXMLString);
  