anchor.diff:  begin
     FFileOperation:= aFileOperation;
     FManager := aFileSystemManager;
  +  FManager.GetAllFiles(FRoots);
   
     TVFolders.BeginUpdate;
     try
       TVFolders.Items.Clear;
  -    for i := 0 to aFileSystemManager.Roots.Count - 1 do
  +    for i := 0 to FRoots.Count - 1 do
       begin
  -      Self.AddNode(nil, aFileSystemManager.Roots.Items[i]);
  +      Self.AddNode(nil, FRoots.Items[i]);
       end;
     finally
       TVFolders.EndUpdate;
  
positive.code: begin
    inherited Create(AOwner);
    FSaveFileData := TmFileData.Create;
  end;
  
  destructor TmFileOpenSave.Destroy;
  begin
    FSaveFileData.Free;
    inherited Destroy;
  end;
  
  
negative.code:     FSaveFileData : TmFileData;
      FFileOperation : TmFileOperation;
      FManager : TmAbstractFileSystemManager;
      FRoots : TmFolders;
      procedure AddNode (aParent : TTreeNode; aFolder : TmFolder);
      procedure RefreshFiles;
    public
  