code: public ItemDocument updateStatements(ItemIdValue itemIdValue,
  			List<Statement> addStatements, List<Statement> deleteStatements,
  			String summary) throws MediaWikiApiErrorException, IOException {
  
  		ItemDocument currentDocument = (ItemDocument) this.wikibaseDataFetcher
  				.getEntityDocument(itemIdValue.getId());
  
  		return updateStatements(currentDocument, addStatements,
  				deleteStatements, summary);
  	}
docs: Updates the statements of the item document identified by the given item
  id. The updates are computed with respect to the current data found
  online, making sure that no redundant deletions or duplicate insertions
  happen. The references of duplicate statements will be merged.
  
  @param itemIdValue
  id of the document to be updated
  @param addStatements
  the list of statements to be added or updated; statements with
  empty statement id will be added; statements with non-empty
  statement id will be updated (if such a statement exists)
  @param deleteStatements
  the list of statements to be deleted; statements will only be
  deleted if they are present in the current document (in
  exactly the same form, with the same id)
  @param summary
  short edit summary
  @return the updated document
  @throws MediaWikiApiErrorException
  if the API returns errors
  @throws IOException
  if there are IO problems, such as missing network connection