protected function verifyRequiredData()
    {
        $errors = array();
        foreach ($this->_REQUIRED_DATA as $property => $defaultValue) {
            if ((!isset($this->Data[$property])) && empty($defaultValue)) {
                $errors[] = $property;
            }
        }
        if (count($errors) > 0) {
            throw new RequiredDataException(get_called_class(), "Missing data for ".implode(",", $errors));
        }
        return true;
    }