anchor.diff:    /**
      * Update all the specified entities in the datastore.
      * Returns the committed transaction.
  -   */
  +   *
  +   * *NOTE*: This method is not idempotent and will be removed in a future release,
  +   * See [0] for more information.
  +   *
  +   * [0]: https://developers.google.com/appengine/articles/handling_datastore_errors
  +   */
  +  @deprecated
     Future<Transaction> updateMany(Iterable<Entity> entities) {
       logger.info("Updating entities ${entities} in datastore");
       return withTransaction((Transaction transaction) => transaction.update.addAll(entities))
  
positive.code:    * and updates it otherwise.
     *
     * Returns the committed transaction.
     */
    Future<Transaction> upsertMany(Iterable<Entity> entities) {
      logger.info("Upserting entities ${entities} in datastore");
      return withTransaction((Transaction transaction) => transaction.upsert.addAll(entities))
  
negative.code:   /**
     * Delete the entity with the given key from the datastore.
     *
     * If the key is not found in the datastore at the beginning of the transaction,
     * the transaction is committed with no update to the datastore.
     *
     * Returns the committed transaction.
     */
    Future<Transaction> delete(Key key) {
      logger.info("Deleting ${key} from datastore");
      return withTransaction((Transaction transaction) {
            lookup(key).then((result) {
              if (result.isPresent) return;
              transaction.delete.add(key);
            });
          })
          .then((transaction) {
            logger.info("Delete successful");
            return transaction;
  