         dataTask?.resume()
         
         // run metrics handler at end of queue
-        if !wasSuspended {
+        if !hasEverBeenSuspended {
             handlerQueue.addOperation {
                 self.sendMetrics()
             }

    
    fileprivate var metricsHandler: MetricsHandler?
    
    fileprivate var wasSuspended = false
    
    /// Delegate interface for handling raw response and request events
    internal weak var passthroughDelegate: ServicePassthroughDelegate?

    
    /// Suspend the underlying data task.
    public func suspend() {
        hasEverBeenSuspended = true
        dataTask?.suspend()
    }
    
