/**
  * Get a Contact and Email DAO objects for a given contact id.
  */
 static function getContactById($contact_id)
 {
     $contact = new CRM_Contact_BAO_Contact();
     $contact->id = $contact_id;
     if (!$contact->find(TRUE)) {
         throw new CRM_CiviMailchimp_Exception("Could not find Contact record with ID {$contact_id}");
     }
     $emails = new CRM_Core_BAO_Email();
     $emails->contact_id = $contact->id;
     $emails->find();
     while ($emails->fetch()) {
         $email = clone $emails;
         $contact->email[] = $email;
     }
     return $contact;
 }