class Sidekiq::Middleware::Chain

def insert_after(oldklass, newklass, *args)

Useful if one middleware must run after another middleware.
Inserts +newklass+ after +oldklass+ in the chain.
def insert_after(oldklass, newklass, *args)
  i = entries.index { |entry| entry.klass == newklass }
  new_entry = i.nil? ? Entry.new(@config, newklass, *args) : entries.delete_at(i)
  i = entries.index { |entry| entry.klass == oldklass } || entries.count - 1
  entries.insert(i + 1, new_entry)
end