public function __construct($entity = null)
 {
     if (is_null($entity)) {
         $entity = new FoundationMember();
         $entity->setOwner(new Member());
     }
     parent::__construct($entity);
 }
 /**
  * @param int $id
  * @return IEntity
  * @throws Exception
  */
 public function getById($id)
 {
     $member = parent::getById($id);
     if (!is_null($member)) {
         UnitOfWork::getInstance()->scheduleForUpdate($member);
     }
     return $member;
 }
 public function __construct()
 {
     parent::__construct(new Vote());
 }
 public function delete(IEntity $entity)
 {
     $entity->clearLocations();
     parent::delete($entity);
 }
 public function __construct()
 {
     parent::__construct(new Survey());
 }
 public function __construct()
 {
     parent::__construct(new EventRegistrationRequest());
 }
 public function __construct()
 {
     parent::__construct(new Project());
 }
 public function __construct()
 {
     parent::__construct(new SupportChannelType());
 }
 public function __construct()
 {
     parent::__construct(new SpeakerRegistrationRequest());
 }
 public function __construct()
 {
     parent::__construct(new EventbriteEvent());
 }
 public function __construct()
 {
     parent::__construct(new OpenStackRelease());
 }
 public function __construct()
 {
     parent::__construct(new ConsultantServiceOfferedType());
 }
 public function __construct()
 {
     parent::__construct(new PresentationSpeakerFeedback());
 }
 public function __construct()
 {
     $entity = new ICLAMemberDecorator();
     $entity->setOwner(new Member());
     parent::__construct($entity);
 }
 public function __construct()
 {
     parent::__construct(new TrainingCourseLevel());
 }
 public function __construct()
 {
     parent::__construct(new Group());
 }
 public function __construct()
 {
     parent::__construct(new TrainingService());
 }
 public function __construct()
 {
     parent::__construct(new Region());
 }
 public function __construct()
 {
     parent::__construct(new PresentationCategory());
 }
 public function __construct()
 {
     parent::__construct(new GuestOSType());
 }
 public function __construct()
 {
     parent::__construct(new SummitEvent());
 }
 public function __construct()
 {
     parent::__construct(new SummitPushNotification());
 }
 public function __construct()
 {
     parent::__construct(new ConfigurationManagementType());
 }
 public function __construct()
 {
     parent::__construct(new Team());
 }
 public function __construct()
 {
     parent::__construct(new CandidateNomination());
 }
 /**
  * @param IEntity $entity
  * @return void
  */
 public function delete(IEntity $entity)
 {
     $entity->clearLocations();
     $entity->clearCoursePreRequisites();
     $entity->clearRelatedProjects();
     parent::delete($entity);
 }
 public function __construct()
 {
     parent::__construct(new Submitter());
 }
 public function __construct()
 {
     parent::__construct(new OpenStackComponent());
 }
 public function __construct()
 {
     $entity = new FoundationMember();
     $entity->setOwner(new Member());
     parent::__construct($entity);
 }
 public function __construct()
 {
     parent::__construct(new SpeakerContactEmail());
 }