def computeSetOfParetoPointsTuplesFromListOfParetoPoints(ListOfParetoPointsAsDicts):
    """
    Given a list of pareto points encoded as a dictionary,  we compute a set of the same pareto points 
    (aka remove duplicates) encoded as tuples ordered by the order of the keys (returned by keys() method of first item) .
    """
    setOfParetoPointsTuples = set()
    if len(ListOfParetoPointsAsDicts) > 0 :
        keyset = ListOfParetoPointsAsDicts[0].keys()
        for row in ListOfParetoPointsAsDicts:
            ParetoPointQualityValues = tuple(row[QualityAttributeKey] for QualityAttributeKey in keyset)
            setOfParetoPointsTuples.add(ParetoPointQualityValues)
    return setOfParetoPointsTuples