class ElasticAPM::Subscriber

def finish(name, id, payload)

rubocop:disable Metrics/CyclomaticComplexity
def finish(name, id, payload)
  # debug "AS::Notification#finish:#{name}:#{id}"
  return unless (transaction = @agent.current_transaction)
  while (notification = transaction.notifications.pop)
    next unless notification.id == id
    if (span = notification.span)
      if @agent.config.span_frames_min_duration?
        span.original_backtrace ||= @normalizers.backtrace(name, payload)
      end
      @agent.end_span if span == @agent.current_span
    end
    return
  end
end