/**
  * @param PagSeguroAuthorization $authorization
  * @param $data
  */
 private function buildAuthorization(PagSeguroAuthorization $authorization, $data)
 {
     // <authorization><code>
     if (isset($data["code"])) {
         $authorization->setCode($data['code']);
     }
     // <authorization><creationDate>
     if (isset($data["creationDate"])) {
         $authorization->setCreationDate($data['creationDate']);
     }
     // <authorization><reference>
     if (isset($data["reference"])) {
         $authorization->setReference($data['reference']);
     }
     // <authorization><account><publicKey>
     if (isset($data["account"]) and isset($data["account"]['publicKey'])) {
         $authorization->setAccount(new PagSeguroAuthorizationAccount($data["account"]['publicKey']));
     }
     // <authorization><permissions>
     if (isset($data["permissions"])) {
         if (isset($data["permissions"]["permission"])) {
             foreach ($data["permissions"]["permission"] as $permission) {
                 $permissions[] = new PagSeguroAuthorizationPermission($permission['code'], $permission['status'], $permission['lastUpdate']);
             }
         }
         $permissions = new PagSeguroAuthorizationPermissions($permissions);
         $authorization->setPermissions($permissions);
         return $authorization;
     }
 }