def METHOD_NAME(
    self, users_properties: {}, graduating_year: int, first_name_header: str = "First Name", last_name_header: str = "Last Name"
) -> str:
    """Generate a single username. Ignores the presence of other users (so duplicate usernames are not handled).
    Args:
        users_properties: A dictionary with users' properties, typically a SIS export.
        graduating_year: The graduating year of the student.
        first_name_header: The key of the 'first name' field in the properties.
        last_name_header: The key of the 'last name' field in the properties.
    Returns:
        A single username.
    """
    # A few sanity checks
    if len(str(graduating_year)) != 4:
        raise ValueError(f"Invalid graduation year. Expected 4 digit year, got {len(str(graduating_year))}.")
    # Strip non alpha characters from first and last name.
    first_stripped = "".join([c for c in users_properties[first_name_header] if c.isalpha()])
    last_stripped = "".join([c for c in users_properties[last_name_header] if c.isalpha()])
    return f"{graduating_year}{first_stripped[0]}{last_stripped[:7]}".lower()