<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def process_row(self, row):
 """ Processes a row of AP election data to determine what model objects need to be created. """

        division = self.get_division(row)
        if not division:
            return None

        race = self.get_race(row, division)
        election = self.get_election(row, race)
        if not election:
            return None

        party = self.get_or_create_party(row)
        candidate = self.get_or_create_candidate(row, party, race)
        candidate_election = self.get_or_create_candidate_election(
            row, election, candidate, party
        )

        self.get_or_create_ap_election_meta(row, election)
        self.get_or_create_votes(row, division, candidate_election)