This comment could be clearer.  I would rephrase it:

    # Initialize violations to None so we can treat violations from the first file as a special case.
    # We add all of the violations from the first file, then take the intersection
    # of that set with the violations from every subsequent file.