def get_overlapping_usernames(source_user_df, target_user_df,
    mapping_file_path=None) ->list:
    """
    Creates a list of usernames that appear in the source connection and the target connection.
    :param pd.DataFrame source_user_df: a Pandas DataFrame populated with source connection user details
    :param pd.DataFrame target_user_df: a Pandas DataFrame populated with target connection user details
    :param str mapping_file_path: (optional) the file path for the mapping file CSV
    :return: overlapping_usernames
    """
    if mapping_file_path:
        source_usernames = set(source_user_df['target_username'])
    else:
        source_usernames = set(source_user_df['source_username'])
    target_usernames = set(target_user_df['target_username'])
    overlapping_usernames = source_usernames.intersection(target_usernames)
    return list(overlapping_usernames)
