code: def update(self, data, append_value=None):
          
          assert type(data) == list
  
          if append_value:
              assert type(append_value) == list
              self.append_value.extend(append_value)
  
          self.data.extend(data)
          self.statements = copy.deepcopy(self.original_statements)
  
          if not __debug__:
              print(self.data)
  
          if self.fast_run:
              self.init_fastrun()
  
          if self.require_write and self.fast_run:
              self.init_data_load()
              self.__construct_claim_json()
              self.__check_integrity()
          elif not self.fast_run:
              self.__construct_claim_json()
              self.__check_integrity()
docs: This method takes data, and modifies the Wikidata item. This works together with the data already provided via
          the constructor or if the constructor is being instantiated with search_only=True. In the latter case, this
          allows for checking the item data before deciding which new data should be written to the Wikidata item.
          The actual write to Wikidata only happens on calling of the write() method. If data has been provided already
          via the constructor, data provided via the update() method will be appended to these data.
          :param data: A list of Wikidata statment items inheriting from WDBaseDataType
          :type data: list
          :param append_value: list with Wikidata property strings where the values should only be appended,
              not overwritten.
          :type: list