def get_specified_differences(self, other):
        # Find all specified names that are unique to self or other.
        self_names = set()
        node = self
        while node:
            self_names |= set(node.specified_properties.keys())
            node = node.parent
        other_names = set()
        node = other
        while node:
            other_names |= set(node.specified_properties.keys())
            node = node.parent
        common_names = self_names & other_names
        differences = (self_names | other_names) - common_names

        # Find specified names that are common but have different values
        for property in common_names:
            # TODO optimisation avoid method call, inline
            if self.get_specified_property(property) != \
                other.get_specified_property(property):
                differences.add(property)
        return differences
Returns True if the connection is dropped and should be closed.
dataset/ETHPy150Open ardekantur/pyglet/contrib/layout/layout/properties.py/StyleNode.get_specified_differences--crossover with--dataset/ETHPy150Open lmorchard/badg.us/vendor-local/lib/python/requests/packages/urllib3/connectionpool.py/is_connection_dropped