public function Find($d)
 {
     $utmf = Abricos::TextParser(true);
     $d->value = $utmf->Parser($d->value);
     switch ($d->type) {
         case 'Subject':
             $d->fieldid = intval($d->fieldid);
             $d->filterCourse = intval($d->filterCourse);
             $d->filterSemestr = intval($d->filterSemestr);
             $rows = RecordBookQuery::SubjectFind($this->db, $d);
             break;
         case 'Group':
             $d->frmstudy = $utmf->Parser($d->frmstudy);
             $rows = RecordBookQuery::GroupFind($this->db, $d);
             break;
         case 'Stud':
             $d->groupid = intval($d->groupid);
             $rows = RecordBookQuery::StudFind($this->db, $d);
             break;
         default:
             return false;
     }
     $listClass = $d->type . "List";
     $itemClass = $d->type . "Item";
     $list = $this->models->InstanceClass($listClass);
     while ($dd = $this->db->fetch_array($rows)) {
         $list->Add($this->models->InstanceClass($itemClass, $dd));
     }
     return $list;
 }