def __should_write_changes(self, old_value: StoreItem, new_value: StoreItem) -> bool:
        """
        Helper method that compares two StoreItems and their e_tags and returns True if the new_value should overwrite
        the old_value. Otherwise returns False.
        :param old_value:
        :param new_value:
        :return:
        """

        # If old_value is none or if the new_value's e_tag is '*', then we return True
        if old_value is None or (hasattr(new_value, 'e_tag') and new_value.e_tag == '*'):
            return True
        # If none of the above cases, we verify that e_tags exist on both arguments
        elif hasattr(new_value, 'e_tag') and hasattr(old_value, 'e_tag'):
            if new_value.e_tag is not None and old_value.e_tag is None:
                return True
            # And then we do a comparing between the old and new e_tag values to decide if the new data will be written
            if old_value.e_tag == new_value.e_tag or int(old_value.e_tag) <= int(new_value.e_tag):
                return True
            else:
                return False
        else:
            return False
def __should_write_changes(self, old_value: StoreItem, new_value: StoreItem) -> bool:
        """
        Helper method that compares two StoreItems and their e_tags and returns True if the new_value should overwrite
        the old_value. Otherwise returns False.
        :param old_value:
        :param new_value:
        :return:
        """

        # If old_value is none or if the new_value's e_tag is '*', then we return True
        if old_value is None or (hasattr(new_value, 'e_tag') and new_value.e_tag == '*'):
            return True
        # If none of the above cases, we verify that e_tags exist on both arguments
        elif hasattr(new_value, 'e_tag') and hasattr(old_value, 'e_tag'):
            if new_value.e_tag is not None and old_value.e_tag is None:
                return True
            # And then we do a comparing between the old and new e_tag values to decide if the new data will be written
            if old_value.e_tag == new_value.e_tag or int(old_value.e_tag) <= int(new_value.e_tag):
                return True
            else:
                return False
        else:
            return False
def __should_write_changes ( self , old_value : StoreItem , new_value : StoreItem ) -> bool : # If old_value is none or if the new_value's e_tag is '*', then we return True if old_value is None or ( hasattr ( new_value , 'e_tag' ) and new_value . e_tag == '*' ) : return True # If none of the above cases, we verify that e_tags exist on both arguments elif hasattr ( new_value , 'e_tag' ) and hasattr ( old_value , 'e_tag' ) : if new_value . e_tag is not None and old_value . e_tag is None : return True # And then we do a comparing between the old and new e_tag values to decide if the new data will be written if old_value . e_tag == new_value . e_tag or int ( old_value . e_tag ) <= int ( new_value . e_tag ) : return True else : return False else : return False
Helper method that compares two StoreItems and their e_tags and returns True if the new_value should overwrite
        the old_value. Otherwise returns False.
        :param old_value:
        :param new_value:
        :return:
Helper method that compares two StoreItems and their e_tags and returns True if the new_value should overwrite the old_value . Otherwise returns False . : param old_value : : param new_value : : return :