private function apply(UserSubscription $subscription, SubscriptionData $data)
 {
     if ($data->userId) {
         $user = $this->em->getRepository('Newscoop\\Entity\\User')->getOneActiveUser($data->userId, false)->getOneOrNullResult();
         if ($user) {
             $subscription->setUser($user);
         }
     }
     if ($data->publicationId) {
         $publication = $this->em->getRepository('Newscoop\\Entity\\Publication')->findOneBy(array('id' => $data->publicationId));
         if ($publication) {
             $subscription->setPublication($publication);
         }
     }
     if ($data->toPay) {
         $subscription->setToPay($data->toPay);
     }
     if ($data->subscriptionId) {
         $subscription->setSubscription($data->subscriptionId);
     }
     if ($data->currency) {
         $subscription->setCurrency($data->currency);
     }
     if ($data->active) {
         $subscription->setActive($data->active);
     }
     if ($data->type) {
         $subscription->setType($data->type);
     }
     return $subscription;
 }