public function prepend($key, $var = null, $flag = 0, $exptime = 0)
 {
     if ($this->logging) {
         $start = microtime(true);
         $name = 'prepend';
         $arguments = array($key, $var, $flag, $exptime);
     }
     list($_key, $_var, $_flag, $_exptime) = array($key, $var, $flag, $exptime);
     $result = parent::prepend($_key, $_var, $_flag, $_exptime);
     list($key, $var, $flag, $exptime) = array($_key, $_var, $_flag, $_exptime);
     if ($this->logging) {
         $time = microtime(true) - $start;
         $this->calls[] = (object) compact('start', 'time', 'name', 'arguments', 'result');
     }
     return $result;
 }