/**
  * Return the revision id for a passed in id for the type stored from the constructor
  *
  * @param \StdClass $data
  *   and object with the following properties
  *   revision_id_key
  *   base_id_key
  *   base_table
  *   ids : the ids
  * @param \Drupal\sps\Plugins\OverrideControllerInterface $override_controller
  *   This is an override controller to use to find
  *   override data
  *
  * @return array|mixed
  *  array of revision ids;
  */
 public function react($data, \Drupal\sps\Plugins\OverrideControllerInterface $override_controller)
 {
     $had_overrides = FALSE;
     if (!empty($data->ids)) {
         $revision_id_query = db_select($data->base_table, 'b');
         $revision_id_query->fields('b', array($data->revision_id_key, $data->base_id_key));
         $revision_id_query->condition('b.' . $data->base_id_key, $data->ids);
         $revision_id_query->addTag(SPS_NO_ALTER_QUERY_TAG);
         $result = $revision_id_query->execute()->fetchAllAssoc($data->base_id_key);
         foreach ($result as $id => $row) {
             $override = $override_controller->getRevisionId($id, $data->type);
             $vids[] = $override['revision_id'] ?: $row->{$data->revision_id_key};
             $had_overrides = $had_overrides || $override;
         }
     }
     return $had_overrides ? $vids : array();
 }
 /**
  *
  * @param int $data
  *   the entity id
  * @param $override_controller
  *   This is an override controller to use to find
  *   override data
  *
  * @return int | NULL
  *  the revision id;
  */
 public function react($data, \Drupal\sps\Plugins\OverrideControllerInterface $override_controller)
 {
     if ($override_controller->getRevisionId($data['id'], $data['type'])) {
         return 'sps-overridden';
     }
 }