void BLASTBufferQueue::transactionCallback(nsecs_t /*latchTime*/, const sp<Fence>& /*presentFence*/,
                                           const std::vector<SurfaceControlStats>& stats) {
    ...
            std::vector<ReleaseCallbackId> staleReleases;
            for (const auto& [key, value]: mSubmitted) {
                if (currFrameNumber > key.framenumber) {
                    staleReleases.push_back(key);
                }
            }
            for (const auto& staleRelease : staleReleases) {
                releaseBufferCallbackLocked(staleRelease, stat.previousReleaseFence ? stat.previousReleaseFence : Fence::NO_FENCE,
                                            stat.transformHint, stat.currentMaxAcquiredBufferCount);
            }
    ...
        decStrong((void*)transactionCallbackThunk);
    ...
}