Looks at each column, using the one with the most values
        Honours the Trump override/failsafe logic.

def most_populated(adf):
        """
        Looks at each column, using the one with the most values
        Honours the Trump override/failsafe logic. """

        # just look at the feeds, ignore overrides and failsafes:
        feeds_only = adf[adf.columns[1:-1]]

        # find the most populated feed
        cnt_df = feeds_only.count()
        cnt = cnt_df.max()
        selected_feeds = cnt_df[cnt_df == cnt]

        # if there aren't any feeds, the first feed will work...
        if len(selected_feeds) == 0:
            pre_final = adf['feed001'] # if they are all empty
                                  # they should all be
                                  # equally empty
        else:
            #if there's one or more, take the highest priority one
            pre_final = adf[selected_feeds.index[0]]


        # create the final, applying the override and failsafe logic...
        final_df = pd.concat([adf.override_feed000,
                              pre_final,
                              adf.failsafe_feed999], axis=1)
        final_df = final_df.apply(_row_wise_priority, axis=1)
        return final_df