/**
  * Create a new SubscriptionBillableTrait Subscription instance.
  *
  * @param \Illuminate\Database\Eloquent\Model            $model
  * @param \DorellJames\Billing\Gateways\SubscriptionInterface $subscription
  * @param mixed                                          $plan
  * @param array                                          $info
  *
  * @return void
  */
 public function __construct(\Illuminate\Database\Eloquent\Model $model, \DorellJames\Billing\Gateways\SubscriptionInterface $subscription = null, $plan = null, array $info = null)
 {
     if (null === $plan) {
         $plan = $model->billing_plan;
     }
     $this->model = $model;
     $this->plan = $plan;
     $this->subscription = $subscription;
     if (!$this->subscription) {
         $this->subscription = $this->model->gatewaySubscription();
     }
     if (empty($info) && $this->subscription) {
         try {
             $info = $this->subscription->info();
         } catch (Exception $e) {
         }
     }
     $this->info = $info;
 }