class Concurrent::Promises::BlockedPromise

def clear_and_propagate_touch(stack_or_element = @Delayed)

def clear_and_propagate_touch(stack_or_element = @Delayed)
  return if stack_or_element.nil?
  if stack_or_element.is_a? LockFreeStack
    stack_or_element.clear_each { |element| clear_and_propagate_touch element }
  else
    stack_or_element.touch unless stack_or_element.nil? # if still present
  end
end