                                       (do
                                         (.inc ~dropped-counter)
                                         (Thread/yield)))
+               "add-counted" `(if (< (.size ~queue) queue-size)
+                                (do
+                                  (.add ~queue ~data)
+                                  (.inc ~enqueued-counter))
+                                (.inc ~dropped-counter))
                "put-counted-yield" `(if (< (.size ~queue) queue-size)
                                       (do
                                         (.put ~queue ~data)

                                   (do
                                     (Thread/yield)
                                     (recur))))
               `(.take ~queue))]
    (println expr)
    expr))

                (do
                  (println file-name "not found. Using default.")
;                  "ArrayBlockingQueue_put"))]
;                  "ArrayBlockingQueue_put-counted"))]
;                  "ArrayBlockingQueue_put-counted-yield"))]
;                  "ArrayBlockingQueue_add-counted-yield"))]
;                  "ArrayBlockingQueue_add-counted-yield_remove-yield"))]
;                  "OneToOneConcurrentArrayQueue3_add-counted-yield_remove-yield"))]
;                  "OneToOneConcurrentArrayQueue3_add-counted_remove-yield"))]
                  "OneToOneConcurrentArrayQueue3_add-counted_remove"))]
;                  "ArrayBlockingQueue_offer-counted"))]
;                  "ArrayBlockingQueue_offer-counted-yield"))]
;                  "LinkedTransferQueue_transfer"))]
