 
         let deferred = Deferred<Result<StorageResponse<T>>>(defaultQueue: self.resultQueue)
 
-        if let until = self.backoff.isInBackoff(NSDate.now()) {
-            deferred.fill(Result(failure: ServerInBackoffError(until: until)))
+        if self.checkBackoff(deferred) {
             return deferred
         }
 

    public func get(guid: String) -> Deferred<Result<StorageResponse<Record<T>>>> {
        let deferred = Deferred<Result<StorageResponse<Record<T>>>>(defaultQueue: client.resultQueue)

        if let until = self.client.backoff.isInBackoff(NSDate.now()) {
            deferred.fill(Result(failure: ServerInBackoffError(until: until)))
            return deferred
        }


    public func getSince(since: Timestamp) -> Deferred<Result<StorageResponse<[Record<T>]>>> {
        let deferred = Deferred<Result<StorageResponse<[Record<T>]>>>(defaultQueue: client.resultQueue)

        if self.client.checkBackoff(deferred) {
            return deferred
        }

