anchor.diff:    public {properties}
       property Items[Index : Integer] : TAbZipItem
         read  GetItem; default;
  +    property Stream : TStream // This can be used instead of Filename
  +      read GetStream write SetStream;
       property ZipArchive : {TAbZipArchive} TAbArchive
  -      read GetZipArchive;
  +      read FArchive;
       property ZipfileComment : AnsiString
         read GetZipfileComment
         write SetZipfileComment;
  
positive.code: 
    protected {methods}
      function  GetItem(Index : Integer) : TAbZipItem; virtual;
      function  GetZipArchive : {TAbZipArchive} TAbArchive;
      function  GetZipfileComment : AnsiString;
      procedure InitArchive;
        override;
      procedure SetFileName(const aFileName : string);
        override;
      procedure SetOnRequestLastDisk(Value : TAbRequestDiskEvent);
      procedure SetOnRequestNthDisk(Value : TAbRequestNthDiskEvent);
      procedure SetOnRequestBlankDisk(Value : TAbRequestDiskEvent);
  
negative.code:     Result := TAbGzipArchive(FArchive).TarAutoHandle
    else if FArchive is TAbBzip2Archive then
      Result := TAbBzip2Archive(FArchive).TarAutoHandle;
  end;
  { -------------------------------------------------------------------------- }
  function TAbCustomZipBrowser.GetZipfileComment : AnsiString;
  