code: public function prepare($forcePrepare = false)
      {
          if ($forcePrepare || $this->_models === null) {
              $this->_models = $this->prepareModels();
          }
          if ($forcePrepare || $this->_keys === null) {
              $this->_keys = $this->prepareKeys($this->_models);
          }
      }
docs: Prepares the data models and keys.
  
  This method will prepare the data models and keys that can be retrieved via
  [[getModels()]] and [[getKeys()]].
  
  This method will be implicitly called by [[getModels()]] and [[getKeys()]] if it has not been called before.
  
  @param bool $forcePrepare whether to force data preparation even if it has been done before.