original_string: public function stopSection($id)
      {
          $this->stop('__section__');
  
          if (1 == \count($this->activeSections)) {
              throw new \LogicException('There is no started section to stop.');
          }
  
          $this->sections[$id] = array_pop($this->activeSections)->setId($id);
          $this->stop('__section__.child');
      }
code: public function stopSection($id)
      {
          $this->stop('__section__');
  
          if (1 == \count($this->activeSections)) {
              throw new \LogicException('There is no started section to stop.');
          }
  
          $this->sections[$id] = array_pop($this->activeSections)->setId($id);
          $this->stop('__section__.child');
      }
code_tokens: public function stopSection ( $ id ) { $ this -> stop ( '__section__' ) ; if ( 1 == \ count ( $ this -> activeSections ) ) { throw new \ LogicException ( 'There is no started section to stop.' ) ; } $ this -> sections [ $ id ] = array_pop ( $ this -> activeSections ) -> setId ( $ id ) ; $ this -> stop ( '__section__.child' ) ; }
docstring: Stops the last started section.
  
  The id parameter is used to retrieve the events from this section.
  
  @see getSectionEvents()
  
  @param string $id The identifier of the section
  
  @throws \LogicException When there's no started section to be stopped
docstring_tokens: Stops the last started section .