/**
  * Build data array, data is read from cache except dcl object itself
  *
  * @param $a_entity
  * @param $a_ids
  */
 protected function _readData($a_entity, $a_ids)
 {
     switch ($a_entity) {
         case 'dcl':
             foreach ($a_ids as $dcl_id) {
                 if (ilObject::_lookupType($dcl_id) == 'dcl') {
                     $obj = new ilObjDataCollection($dcl_id, false);
                     $data = array('id' => $dcl_id, 'title' => $obj->getTitle(), 'description' => $obj->getDescription(), 'main_table_id' => $obj->getMainTableId(), 'is_online' => $obj->getOnline(), 'rating' => $obj->getRating(), 'public_notes' => $obj->getPublicNotes(), 'approval' => $obj->getApproval(), 'notification' => $obj->getNotification());
                     $this->caches['dcl'][$dcl_id] = $data;
                     $this->data[] = $data;
                 }
             }
             break;
         default:
             $data = $this->getCache($a_entity);
             foreach ($a_ids as $id) {
                 $this->data[] = $data[$id];
             }
     }
 }