/**
  *
  * @since       1.1.0
  */
 protected function _afterQuery()
 {
     if ((($byID = $this->method == 'getElementsByID') || ($byItem = $this->method == 'getElementsByItemID')) && $this->_testQueryVars()) {
         if ($byID) {
             $this->_setNot(array_diff($this->elements, $this->_elementsID), 'elements');
         } elseif ($byItem) {
             $this->_setNot(array_diff($this->elements, $this->_itemsID), 'items');
         }
     } else {
         parent::_afterQuery();
     }
 }
 /**
  *
  * @since       1.1.0
  */
 protected function _afterQuery()
 {
     switch ($this->method) {
         case 'getFieldsByID':
             if ($this->_testQueryVars()) {
                 $this->_setNot(array_diff($this->elements, $this->_fieldsID), 'fields');
             }
             break;
         case 'getFieldsByModeID':
             // Get elements from cahce
             while (!empty($this->types)) {
                 $_elements = get_object_vars($this->_getData(array_shift($this->types))->get('elements', new JObject()));
                 // Add only those elements are suitable states
                 while ($_element = current($_elements)) {
                     if (in_array($_element->mode, $this->elements) && in_array($_element->state, $this->states)) {
                         $this->buffer->set($_element->{$this->getPrimaryName()}, $_element);
                     }
                     next($_elements);
                 }
             }
             break;
         default:
             parent::_afterQuery();
             break;
     }
 }