original_string: protected function include_configuration() {
          $configuration = array();
          // We need to allow for late static bindings to allow for class path mudling happending for unit tests.
          $cachefile = static::get_config_file_path();
  
          if (!file_exists($cachefile)) {
              throw new cache_exception('Default cache config could not be found. It should have already been created by now.');
          }
  
          if (!include($cachefile)) {
              throw new cache_exception('Unable to load the cache configuration file');
          }
  
          if (!is_array($configuration)) {
              throw new cache_exception('Invalid cache configuration file');
          }
          if (!array_key_exists('stores', $configuration) || !is_array($configuration['stores'])) {
              $configuration['stores'] = array();
          }
          if (!array_key_exists('modemappings', $configuration) || !is_array($configuration['modemappings'])) {
              $configuration['modemappings'] = array();
          }
          if (!array_key_exists('definitions', $configuration) || !is_array($configuration['definitions'])) {
              $configuration['definitions'] = array();
          }
          if (!array_key_exists('definitionmappings', $configuration) || !is_array($configuration['definitionmappings'])) {
              $configuration['definitionmappings'] = array();
          }
          if (!array_key_exists('locks', $configuration) || !is_array($configuration['locks'])) {
              $configuration['locks'] = array();
          }
  
          return $configuration;
      }
code: protected function include_configuration() {
          $configuration = array();
          // We need to allow for late static bindings to allow for class path mudling happending for unit tests.
          $cachefile = static::get_config_file_path();
  
          if (!file_exists($cachefile)) {
              throw new cache_exception('Default cache config could not be found. It should have already been created by now.');
          }
  
          if (!include($cachefile)) {
              throw new cache_exception('Unable to load the cache configuration file');
          }
  
          if (!is_array($configuration)) {
              throw new cache_exception('Invalid cache configuration file');
          }
          if (!array_key_exists('stores', $configuration) || !is_array($configuration['stores'])) {
              $configuration['stores'] = array();
          }
          if (!array_key_exists('modemappings', $configuration) || !is_array($configuration['modemappings'])) {
              $configuration['modemappings'] = array();
          }
          if (!array_key_exists('definitions', $configuration) || !is_array($configuration['definitions'])) {
              $configuration['definitions'] = array();
          }
          if (!array_key_exists('definitionmappings', $configuration) || !is_array($configuration['definitionmappings'])) {
              $configuration['definitionmappings'] = array();
          }
          if (!array_key_exists('locks', $configuration) || !is_array($configuration['locks'])) {
              $configuration['locks'] = array();
          }
  
          return $configuration;
      }
code_tokens: protected function include_configuration ( ) { $ configuration = array ( ) ; // We need to allow for late static bindings to allow for class path mudling happending for unit tests. $ cachefile = static :: get_config_file_path ( ) ; if ( ! file_exists ( $ cachefile ) ) { throw new cache_exception ( 'Default cache config could not be found. It should have already been created by now.' ) ; } if ( ! include ( $ cachefile ) ) { throw new cache_exception ( 'Unable to load the cache configuration file' ) ; } if ( ! is_array ( $ configuration ) ) { throw new cache_exception ( 'Invalid cache configuration file' ) ; } if ( ! array_key_exists ( 'stores' , $ configuration ) || ! is_array ( $ configuration [ 'stores' ] ) ) { $ configuration [ 'stores' ] = array ( ) ; } if ( ! array_key_exists ( 'modemappings' , $ configuration ) || ! is_array ( $ configuration [ 'modemappings' ] ) ) { $ configuration [ 'modemappings' ] = array ( ) ; } if ( ! array_key_exists ( 'definitions' , $ configuration ) || ! is_array ( $ configuration [ 'definitions' ] ) ) { $ configuration [ 'definitions' ] = array ( ) ; } if ( ! array_key_exists ( 'definitionmappings' , $ configuration ) || ! is_array ( $ configuration [ 'definitionmappings' ] ) ) { $ configuration [ 'definitionmappings' ] = array ( ) ; } if ( ! array_key_exists ( 'locks' , $ configuration ) || ! is_array ( $ configuration [ 'locks' ] ) ) { $ configuration [ 'locks' ] = array ( ) ; } return $ configuration ; }
docstring: Includes the configuration file and makes sure it contains the expected bits.
  
  You need to ensure that the config file exists before this is called.
  
  @return array
  @throws cache_exception
docstring_tokens: Includes the configuration file and makes sure it contains the expected bits .