public static function isValid(&$properties_dictionary, $limit_to_keys, &$error)
 {
     //	Check each property is valid
     //
     if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypeAnniversary') {
         return EventTypeAnniversary::isValid($properties_dictionary, $limit_to_keys, $error);
     } else {
         if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypeAnniversaryWedding') {
             return EventTypeAnniversaryWedding::isValid($properties_dictionary, $limit_to_keys, $error);
         } else {
             if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypeBirthday') {
                 return EventTypeBirthday::isValid($properties_dictionary, $limit_to_keys, $error);
             } else {
                 if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypeCelebration') {
                     return EventTypeCelebration::isValid($properties_dictionary, $limit_to_keys, $error);
                 } else {
                     if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypeGigMusic') {
                         return EventTypeGigMusic::isValid($properties_dictionary, $limit_to_keys, $error);
                     } else {
                         if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypeGigComedy') {
                             return EventTypeGigComedy::isValid($properties_dictionary, $limit_to_keys, $error);
                         } else {
                             if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypeParty') {
                                 return EventTypeParty::isValid($properties_dictionary, $limit_to_keys, $error);
                             } else {
                                 if (ValidationC::should_test_property(EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME, $properties_dictionary, true, $limit_to_keys) && $properties_dictionary[EVENT_TYPE_FACTORY_KEY_EVENT_TYPE_NAME] === 'EventTypePartyLaunch') {
                                     return EventTypePartyLaunch::isValid($properties_dictionary, $limit_to_keys, $error);
                                 } else {
                                     $error = Error::withDomain(EVENT_TYPE_FACTORY_ERROR_DOMAIN, EVENT_TYPE_FACTORY_ERROR_CODE_INVALID_NAME, 'Invalid name.');
                                     return false;
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return true;
 }