code: private static function _getCacheObject()
  	{
  		if (self::$_sTypeOfCache === 'file') {
  
  			if (!isset(self::$_aCache['file'])) { self::$_aCache['file'] = new CacheFile; }
  
  			return self::$_aCache['file'];
  		}
  		else if (self::$_sTypeOfCache === 'memcache') {
    		  
  			if (!isset(self::$_aCache['memcache'])) { 
  			    
  			    $oDbConf = Config::get('Memcache')->configuration;
  			    
  			    if (isset($oDbConf->port)) { $sPort = $oDbConf->port; }
  			    else { $sPort = null; }
  			    
  			    if (isset($oDbConf->timeout)) { $iTimeout = $oDbConf->timeout; }
  			    else { $iTimeout = null; }
  			    
  			    self::$_aCache['memcache'] = new CacheMemcache($oDbConf->host, $sPort, $iTimeout); 
  			}
  
  			return self::$_aCache['memcache'];
  		}
  		else if (self::$_sTypeOfCache === 'apc') {
  
  			if (!isset(self::$_aCache['apc'])) { self::$_aCache['apc'] = new Apc; }
  
  			return self::$_aCache['apc'];
  		}
  		else if (self::$_sTypeOfCache === 'redis') {
  		    
  			if (!isset(self::$_aCache['redis'])) {
  			    
  			    $oDbConf = Config::get('Redis')->configuration;
  			    self::$_aCache['memcache'] = new Redis($oDbConf);
  			}
  
  			return self::$_aCache['redis'];
  		}
  		else if (self::$_sTypeOfCache === 'mock') {
  		    
  			if (!isset(self::$_aCache['mock'])) { self::$_aCache['mock'] = new Mock; }
  
  			return self::$_aCache['mock'];
  		}
  	}
docs: initialize the cache class and get the good object
  
  @access private
  @return object