def findDuplicates(files):
    """
    Find file duplicates.  Input is a list of FileInfo objects.  Returns a list where each element is a list of duplicate files.
    """
    # Build a dictionary where where the keys are file signatures and the values are corresponding FileInfo objects.
    dupes = {}
    for f in files:
        if f.Signature in dupes:
            dupes[f.Signature].append(f)
        else:
            dupes[f.Signature] = [f]

    # Take all dictionary values with more than one element and construct a new list of these values.
    result = []
    for d in dupes.values():
        if len(d) > 1:
            result.append(d)

    return result