anchor.diff:  { TRemodelRequest }
   
   uses
  -  XMLRead;
  +  XMLRead,
  +  XMLWrite;
   
   var
     remodel_request: TRemodelRequest;
   
  -procedure TRemodelRequest.LoadXMLByStream(AStream: TStream);
  +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;
  
positive.code: 
  procedure TRemodelRequest.RemodelByStream(ARequest: TStream);
  begin
    LoadXMLByStream(ARequest);
  
    RemoveEmptyElements;
    AlterNamespace;
  end;
  
  procedure TRemodelRequest.RemoveEmptyElements;
  begin
  
  end;
  
  procedure TRemodelRequest.AlterNamespace;
  
negative.code:   private
      FXMLDocument: TXMLDocument;
    protected
      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);
  
      destructor Destroy; override;
    end;
  