/**
  * @see ProjectStatusInterface::delete()
  * @return bool
  * @throws ProjectStatusDeleteException;
  */
 public function delete()
 {
     if ($this->status and $this->status_id) {
         $project_relation_array = ProjectHasProjectStatus_Access::list_entries_by_status_id($this->status_id);
         if (is_array($project_relation_array)) {
             if (count($project_relation_array) == 0) {
                 if ($this->status->delete() == true) {
                     return true;
                 } else {
                     throw new ProjectStatusDeleteException();
                 }
             } else {
                 throw new ProjectStatusDeleteException();
             }
         } else {
             if ($this->status->delete() == true) {
                 return true;
             } else {
                 throw new ProjectStatusDeleteException();
             }
         }
     } else {
         throw new ProjectStatusDeleteException();
     }
 }