/**
  * UcAddressesAddress object constructor.
  *
  * @param UcAddressesAddressBook $addressBook
  *   An instance of UcAddressesAddressBook.
  * @param object $schemaAddress
  *   Values to fill the address with.
  *
  * @access public
  * @return void
  */
 public function __construct(UcAddressesAddressBook $addressBook, $schemaAddress = NULL)
 {
     parent::__construct($schemaAddress);
     $this->addressBook = $addressBook;
     if (!is_object($schemaAddress) || !$schemaAddress->aid) {
         // We always need an ID.
         $this->getSchemaAddress()->aid = self::$nextNewAid--;
     }
     // Set other given values.
     if ($schemaAddress) {
         foreach ($schemaAddress as $fieldName => $value) {
             $this->privSetUcAddressField($fieldName, $value);
         }
     }
     if ($this->getSchemaAddress()->aid > 0) {
         // If an address is just loaded, mark this instance as 'clean' (= unchanged).
         $this->clearDirty();
     }
     // All addresses need to be contained by an address book.
     $addressBook->addAddress($this);
 }