class CanvasSync::JobBatches::ChainBuilder

def insert_at(position, new_jobs, *args, &blk)

def insert_at(position, new_jobs, *args, &blk)
  chain = self.class.get_chain_parameter(base_job)
  if new_jobs.is_a?(Class) || new_jobs.is_a?(String)
    new_jobs = build_job_hash(new_jobs, *args, &blk)
  elsif args.length > 0
    raise "Unexpected number of arguments"
  end
  new_jobs = [new_jobs] unless new_jobs.is_a?(Array)
  chain.insert(position, *new_jobs)
end