public function setContact(Contact $contact, $isDirty = true)
    {
        $this->contactId = $contact->id;
        $this->setDirtyState($isDirty, 'contactId');
        $properties = array(
            'address1',
            'address2',
            'attention',
            'city',
            'companyName',
            'country',
            'customerId',
            'firstname',
            'lastname',
            'zipcode',
        );
        foreach ($properties as $property) {
            $this->$property = $contact->$property;
            $this->setDirtyState($isDirty, $property);
        }
        return $this;
    }