protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorProjectTransaction::TYPE_NAME:
             $name = $xaction->getNewValue();
             $object->setName($name);
             if (!$this->getIsMilestone()) {
                 $object->setPrimarySlug(PhabricatorSlug::normalizeProjectSlug($name));
             }
             return;
         case PhabricatorProjectTransaction::TYPE_SLUGS:
             return;
         case PhabricatorProjectTransaction::TYPE_STATUS:
             $object->setStatus($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_IMAGE:
             $object->setProfileImagePHID($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_ICON:
             $object->setIcon($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_COLOR:
             $object->setColor($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_LOCKED:
             $object->setIsMembershipLocked($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_PARENT:
             $object->setParentProjectPHID($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_MILESTONE:
             $number = $object->getParentProject()->loadNextMilestoneNumber();
             $object->setMilestoneNumber($number);
             $object->setParentProjectPHID($xaction->getNewValue());
             return;
     }
     return parent::applyCustomInternalTransaction($object, $xaction);
 }
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorProjectTransaction::TYPE_NAME:
             $object->setName($xaction->getNewValue());
             // TODO - this is really "setPrimarySlug"
             $object->setPhrictionSlug($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_SLUGS:
             return;
         case PhabricatorProjectTransaction::TYPE_STATUS:
             $object->setStatus($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_IMAGE:
             $object->setProfileImagePHID($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_ICON:
             $object->setIcon($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_COLOR:
             $object->setColor($xaction->getNewValue());
             return;
         case PhabricatorProjectTransaction::TYPE_LOCKED:
             $object->setIsMembershipLocked($xaction->getNewValue());
             return;
     }
     return parent::applyCustomInternalTransaction($object, $xaction);
 }