def zip_packages(in_range: nil)
      if in_range
        change_lists = change_lists(in_range: in_range, strict: false)
        change_lists.map { |r| promise { r.zip_package } }
      else
        super()
      end
    end
def zip_packages(in_range: nil)
      if in_range
        change_lists = change_lists(in_range: in_range, strict: false)
        change_lists.map { |r| promise { r.zip_package } }
      else
        super()
      end
    end
A list (downloaded lazily) of the {Resync::Client::Zip::ZipPackage}s for each resource
 If a time range parameter is provided, the lists of packages is filtered by +from_time+
 and +until_time+, in non-strict mode (only excluding those lists provably not in the range,
 i.e., including packages without +from_time+ or +until_time+).
 @param in_range [Range<Time>] the range of times to filter by
 @return [Array<Promise<Resync::Client::Zip::ZipPackage>>] the zip packages for each resource