code: function update(newValue) {
          var self = this;
          return storeTaskRunner.run(function() {
              if (pushOperation.logRecord.action === 'delete') {
                  throw new Error('Cannot update a deleted record');
              }
              
              if (_.isNull(newValue)) {
                  throw new Error('Need a valid object to update the record');
              }
              
              if (!_.isValidId(newValue.id)) {
                  throw new Error('Invalid ID: ' + newValue.id);
              }
              
              if (newValue.id !== pushOperation.data.id) {
                  throw new Error('Only updating the record being pushed is allowed');
              }
  
              //TODO: Do we need to disallow updating record if the record has been deleted after
              //we attempted push?
  
              return operationTableManager.getMetadata(pushOperation.logRecord.tableName, 'upsert', newValue).then(function(metadata) {
                  pushOperation.logRecord.metadata = metadata;
                  return store.executeBatch([
                      { // Update the log record
                          tableName: operationTableName,
                          action: 'upsert',
                          data: pushOperation.logRecord
                      },
                      { // Update the record in the local table
                          tableName: pushOperation.logRecord.tableName,
                          action: 'upsert',
                          data: newValue
                      }
                  ]).then(function() {
                      self.isHandled = this;
                  });
              });
  
          });
      }
docs: Updates the client data record associated with the current operation.
  If required, the metadata in the log record will also be associated.
  This will also set {@link PushError#isHandled} to true.
  
  @function
  @instance
  @memberof PushError
  
  @param {object} newValue New value of the data record.
  
  @returns {Promise} A promise that is fulfilled when the data record is updated in the localstore.