code: protected function loadForeignObject()
      {
          if ($this->_isLoadingForeignObject) {
              throw new RecursionException('Ran into recursion while loading foreign object');
          }
          $this->_isLoadingForeignObject = true;
          if (isset($this->deferredModel) && ($attributes = $this->deferredModel->attributes)) {
              $this->foreignObject = $this->dataSource->createModel($this->deferredModel->id, $this->deferredModel->attributes);
          }
          $this->_isLoadingForeignObject = false;
      }
docs: Load the foreign object from the foreign data source.
  
  @throws RecursionException on recursive call when the object is already loading the same object