/**
  * Returns an unsaved copy of the milestone. Copies everything except open/closed state,
  * anything that needs the task to have an id (like tags, properties, tasks),
  * administrative info like who created the milestone and when, etc.
  *
  * @param TemplateMilestone $milestone
  * @return TemplateMilestone
  */
 function createMilestoneCopy(TemplateMilestone $milestone)
 {
     $new = new TemplateMilestone();
     $new->setObjectName($milestone->getObjectName());
     $new->setDescription($milestone->getDescription());
     $new->setIsUrgent($milestone->setIsUrgent());
     $new->setDueDate($milestone->getDueDate());
     return $new;
 }