original_string: protected function ensure_session_cache_initialised() {
          global $SESSION;
          if (empty($this->session)) {
              if (!isset($SESSION->navcache)) {
                  $SESSION->navcache = new stdClass;
              }
              if (!isset($SESSION->navcache->{$this->area})) {
                  $SESSION->navcache->{$this->area} = array();
              }
              $this->session = &$SESSION->navcache->{$this->area}; // pointer to array, =& is correct here
          }
      }
code: protected function ensure_session_cache_initialised() {
          global $SESSION;
          if (empty($this->session)) {
              if (!isset($SESSION->navcache)) {
                  $SESSION->navcache = new stdClass;
              }
              if (!isset($SESSION->navcache->{$this->area})) {
                  $SESSION->navcache->{$this->area} = array();
              }
              $this->session = &$SESSION->navcache->{$this->area}; // pointer to array, =& is correct here
          }
      }
code_tokens: protected function ensure_session_cache_initialised ( ) { global $ SESSION ; if ( empty ( $ this -> session ) ) { if ( ! isset ( $ SESSION -> navcache ) ) { $ SESSION -> navcache = new stdClass ; } if ( ! isset ( $ SESSION -> navcache -> { $ this -> area } ) ) { $ SESSION -> navcache -> { $ this -> area } = array ( ) ; } $ this -> session = & $ SESSION -> navcache -> { $ this -> area } ; // pointer to array, =& is correct here } }
docstring: Used to set up the cache within the SESSION.
  
  This is called for each access and ensure that we don't put anything into the session before
  it is required.
docstring_tokens: Used to set up the cache within the SESSION .