/**
  * Read a token from the database.
  *
  * @since 2.7.0
  * @param WC_Payment_Token $token
  */
 public function read(&$token)
 {
     global $wpdb;
     if ($data = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->prefix}woocommerce_payment_tokens WHERE token_id = %d LIMIT 1;", $token->get_id()))) {
         $token->set_props(array('token' => $data->token, 'user_id' => $data->user_id, 'gateway_id' => $data->gateway_id, 'default' => $data->is_default));
         $token->read_meta_data();
         $token->set_object_read(true);
         do_action('woocommerce_payment_token_loaded', $token);
     } else {
         throw new Exception(__('Invalid payment token.', 'woocommerce'));
     }
 }