#NEWLINE# def _Intersect( handler_list ) : #NEWLINE# #INDENT# 'Returns an unordered list of all possible intersections of handlers.' #NEWLINE# if ( not handler_list ) : #NEWLINE# #INDENT# return set ( ) #NEWLINE# #UNINDENT# handlers = set ( [ handler_list [ 0 ] ] ) #NEWLINE# for input_handler in handlers [ 1 : ] : #NEWLINE# #INDENT# new_handlers = set ( ) #NEWLINE# for g in handlers : #NEWLINE# #INDENT# new_handlers |= _IntersectTwoHandlers ( input_handler , g ) #NEWLINE# #UNINDENT# handlers = new_handlers #NEWLINE# #UNINDENT# return list ( handlers )