/**
  * delete
  *
  * @return void
  * @author Andy Bennett
  */
 public function delete()
 {
     $pos = ORM::factory($this->object_plural . '_position')->where($this->object_name . '_id', $this->id)->find();
     $ids = $pos->delete_which();
     $version = versions_helper::get_version();
     $db = new Database();
     foreach ($ids as $id) {
         $tmp = $db->getwhere($this->table_name, array('id' => $id->{$this->object_name . '_id'}))->as_array(false);
         if (count($tmp)) {
             $arr = current($tmp);
             unset($arr['id']);
             $arr['state'] = 'D';
             $arr['version'] = $version;
             $db->insert($this->table_name, $arr);
         }
     }
     $pos->delete($version);
     return $this->clear();
 }