original_string: public function handleTrackCompletion(&$values, $userId)
      {
          // Process any events
          $trackEngine = $this->getTrackEngine();
  
          if ($event = $trackEngine->getTrackCompletionEvent()) {
              $event->processTrackCompletion($this, $values, $userId);
          }
      }
code: public function handleTrackCompletion(&$values, $userId)
      {
          // Process any events
          $trackEngine = $this->getTrackEngine();
  
          if ($event = $trackEngine->getTrackCompletionEvent()) {
              $event->processTrackCompletion($this, $values, $userId);
          }
      }
code_tokens: public function handleTrackCompletion ( & $ values , $ userId ) { // Process any events $ trackEngine = $ this -> getTrackEngine ( ) ; if ( $ event = $ trackEngine -> getTrackCompletionEvent ( ) ) { $ event -> processTrackCompletion ( $ this , $ values , $ userId ) ; } }
docstring: Find out if there are track completion events and delegate to the event if needed
  
  @param array $values The values changed before entering this event
  @param int $userId
docstring_tokens: Find out if there are track completion events and delegate to the event if needed