original_string: protected function buildBlockViews($rootId)
      {
          /** @var BlockView[] $views */
          $views = [];
  
          // build the root view
          $rootView       = $this->buildBlockView($rootId);
          $views[$rootId] = $rootView;
          // build child views
          $iterator = $this->rawLayout->getHierarchyIterator($rootId);
          foreach ($iterator as $id) {
              $parentView = $views[$iterator->getParent()];
  
              // build child view
              $view                      = $this->buildBlockView($id, $parentView);
              $parentView->children[$id] = $view;
              $views[$id]                = $view;
          }
  
          $viewsCollection = new BlockViewCollection($views);
          foreach ($views as $view) {
              $view->blocks = $viewsCollection;
          }
  
          // finish the root view
          $this->finishBlockView($rootView, $rootId);
          // finish child views
          foreach ($iterator as $id) {
              $this->finishBlockView($views[$id], $id);
          }
  
          return $rootView;
      }
code: protected function buildBlockViews($rootId)
      {
          /** @var BlockView[] $views */
          $views = [];
  
          // build the root view
          $rootView       = $this->buildBlockView($rootId);
          $views[$rootId] = $rootView;
          // build child views
          $iterator = $this->rawLayout->getHierarchyIterator($rootId);
          foreach ($iterator as $id) {
              $parentView = $views[$iterator->getParent()];
  
              // build child view
              $view                      = $this->buildBlockView($id, $parentView);
              $parentView->children[$id] = $view;
              $views[$id]                = $view;
          }
  
          $viewsCollection = new BlockViewCollection($views);
          foreach ($views as $view) {
              $view->blocks = $viewsCollection;
          }
  
          // finish the root view
          $this->finishBlockView($rootView, $rootId);
          // finish child views
          foreach ($iterator as $id) {
              $this->finishBlockView($views[$id], $id);
          }
  
          return $rootView;
      }
code_tokens: protected function buildBlockViews ( $ rootId ) { /** @var BlockView[] $views */ $ views = [ ] ; // build the root view $ rootView = $ this -> buildBlockView ( $ rootId ) ; $ views [ $ rootId ] = $ rootView ; // build child views $ iterator = $ this -> rawLayout -> getHierarchyIterator ( $ rootId ) ; foreach ( $ iterator as $ id ) { $ parentView = $ views [ $ iterator -> getParent ( ) ] ; // build child view $ view = $ this -> buildBlockView ( $ id , $ parentView ) ; $ parentView -> children [ $ id ] = $ view ; $ views [ $ id ] = $ view ; } $ viewsCollection = new BlockViewCollection ( $ views ) ; foreach ( $ views as $ view ) { $ view -> blocks = $ viewsCollection ; } // finish the root view $ this -> finishBlockView ( $ rootView , $ rootId ) ; // finish child views foreach ( $ iterator as $ id ) { $ this -> finishBlockView ( $ views [ $ id ] , $ id ) ; } return $ rootView ; }
docstring: Builds views for all blocks starting with and including the given root block
  
  @param string $rootId
  
  @return BlockView The root block view
docstring_tokens: Builds views for all blocks starting with and including the given root block