anchor.diff:     * and updates it otherwise.
      *
      * 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> upsertMany(Iterable<Entity> entities) {
       logger.info("Upserting entities ${entities} in datastore");
       return withTransaction((Transaction transaction) => transaction.upsert.addAll(entities))
  
positive.code: 
    /**
     * Delete the entities with any of the given [:keys:] from the datastore.
     *
     * Returns the committed transaction.
     */
    Future<Transaction> deleteMany(Iterable<Key> keys) {
      logger.info("Deleting keys ${keys} from datastore");
      return withTransaction((Transaction transaction) => transaction.delete.addAll(keys))
          .then((transaction) {
            logger.info("Delete of ${keys} successfull (transaction id: ${transaction.id}");
            return transaction;
  
negative.code:     return streamController.stream;
    }
  
    /**
     * Insert the entity into the datastore.
     * If the entity already exists, nothing is inserted.
     */
    Future<Transaction> insert(Entity entity) {
      logger.info("Inserting $entity into datastore");
      return withTransaction((transaction) {
            return lookup(entity.key, transaction)
            .then((entityResult) {
              if (entityResult.isPresent) {
                return;
              }
              transaction.insert.add(entity);
            });
          })
          .then((transaction) {
            if (transaction.isCommitted) {
              logger.info("Insert successful (transaction id: ${transaction.id})");
  