anchor.diff:    private
       FXMLDocument: TXMLDocument;
     protected
  -    procedure LoadXMLByStream(AStream: TStream);
  +    procedure RemoveEmptyElements(AChildNode: TDOMNode); overload;
  +    procedure RemoveEmptyElements; overload;
  +    procedure AlterNamespace;
  +
  +    procedure GetXMLByStream(AStream: TStream);
  +    procedure SetXMLToStream(AStream: TStream);
     public
       class function GetInstance: TRemodelRequest;
       class procedure FreeSingletonInstance;
   
       procedure RemodelByStream(ARequest: TStream);
  -    procedure RemoveEmptyElements;
  -    procedure AlterNamespace;
   
       destructor Destroy; override;
     end;
  
positive.code: 
  procedure TRemodelRequest.RemodelByStream(ARequest: TStream);
  begin
    LoadXMLByStream(ARequest);
  
    RemoveEmptyElements;
    AlterNamespace;
  end;
  
  procedure TRemodelRequest.RemoveEmptyElements;
  begin
  
  end;
  
  procedure TRemodelRequest.AlterNamespace;
  
negative.code: { TRemodelRequest }
  
  uses
    XMLRead,
    XMLWrite;
  
  var
    remodel_request: TRemodelRequest;
  
  procedure TRemodelRequest.GetXMLByStream(AStream: TStream);
  begin
    if Assigned(FXMLDocument) then
      FreeAndNil(FXMLDocument);
    FXMLDocument := TXMLDocument.Create;
  
    ReadXMLFile(FXMLDocument, AStream);
  end;
  
  procedure TRemodelRequest.SetXMLToStream(AStream: TStream);
  begin
    WriteXML(FXMLDocument, AStream);
  end;
  
  class function TRemodelRequest.GetInstance: TRemodelRequest;
  