def METHOD_NAME(self, ctr_lat, ctr_lon, mcc, cells):
    METHOD_NAME = None
    regions = [cell.METHOD_NAME for cell in cells]
    unique_regions = set(regions)
    if len(unique_regions) == 1:
        METHOD_NAME = regions[0]
    else:
        # Choose the area region based on the majority of cells
        # inside each region.
        grouped_regions = defaultdict(int)
        for reg in regions:
            grouped_regions[reg] += 1
        max_count = max(grouped_regions.values())
        max_regions = sorted(
            [k for k, v in grouped_regions.items() if v == max_count],
            # Emulate Python 2.6, where None is sortable and first
            key=lambda item: item or "",
        )
        # If we get a tie here, randomly choose the first.
        METHOD_NAME = max_regions[0]
        if len(max_regions) > 1:
            # Try to break the tie based on the center of the area,
            # but keep the randomly chosen region if this fails.
            area_region = GEOCODER.region_for_cell(ctr_lat, ctr_lon, mcc)
            if area_region is not None:
                METHOD_NAME = area_region
    return METHOD_NAME