code: function saveAnnotations(target, context, newAnnos, callback) {
    if (!annotations || annotations.length < 1) {
      GLOBAL.error('trying to save 0 annotations');
      callback();
      return;
    }
    GLOBAL.svc.indexer.retrieveByURI(target, function(err, res) {
      if (err) {
       callback(err);
        return;
      }
  
      if (!res._source) {
        callback({error: 'target doesn\'t exist'});
        return;
      }
      var cItem = res._source;
      var desc = { uri: target, annotations: newAnnos, title: cItem.title, state: cItem.state };
      context.updating = true;
      indexContentItem(desc, context, function(err, res, rItem) {
        if (err) {
          console.log('saveAnnotations err'.red, err);
        }
        callback(err, res, rItem);
      });
    });
  }
docs: save an individual content item's annotations. accepts an item or array. FIXME: use versioning to detect collisions.