anchor.diff:          raise ENotSupportedException.Create('Dispose policy idoRelease not supported');
         end;
         idpFreeMem: if Assigned(ADisposables.FPointers[i].Ptr) then System.FreeMem(ADisposables.FPointers[i].Ptr);
  -      else raise ENotSupportedException.Create('Dispose policy not supported');;
  +      else raise ENotSupportedException.Create('Dispose policy not supported');
       end;
     except
       if not Assigned(FirstException) then
  
positive.code:       FGuardian: IInterface;
        FPointers: array of TDisposablePointer;
        FLastIndex: Integer;
        class procedure Initialize(var ADisposables: TDisposables); static;
        class procedure Finalize(var ADisposables: TDisposables); static;
        procedure RegisterPointer(Ptr: Pointer; ADisposePolicy: TDisposePolicy);
        procedure UnregisterPointer(Ptr: Pointer);
      public
  
negative.code:     raise TObject(FirstException);
    end;
  end;
  {$ENDIF}
  
  procedure TDisposables.RegisterPointer(Ptr: Pointer; ADisposePolicy: TDisposePolicy);
  begin
  