Transport Package MODX 3 question

I need code (for SiteCheck) to download the transport file for a package that’s in the database, but has no transport file.

This code works (I already have the package object):

$signature = $package->get('signature');

/** @var MODX\Revolution\Transport\modTransportProvider $provider */
$provider = $package->getOne('Provider');
$provider->transfer($signature);
$success = file_exists(MODX_CORE_PATH . 'packages/' . 
    $signature . '.transport.zip');
return $success;

Unfortunately, the transfer method tries to save a duplicate package object to the DB, which (luckily) fails. That writes a fat DB error to the Error Log.

The transfer method could have a $save parameter, but it doesn’t.

Does anyone have a method for doing this short of stealing the code from the transfer method or getting the file myself. The transfer method tries three different methods for getting the file, so I’d hate to duplicate all that code.

Bonus if the code would run in MODX 2.

As an aside, design-wise, saving the object to the DB isn’t really the job of a method for downloading a file, imo.