protected function static_acceleration_get($key) {
        if (!$this->staticacceleration || !isset($this->staticaccelerationarray[$key])) {
            $result = false;
        } else {
            $data = $this->staticaccelerationarray[$key]['data'];

            if ($data instanceof cache_cached_object) {
                $result = $data->restore_object();
            } else if ($this->staticaccelerationarray[$key]['serialized']) {
                $result = unserialize($data);
            } else {
                $result = $data;
            }
        }
        if ($result !== false) {
            if ($this->perfdebug) {
                cache_helper::record_cache_hit('** static acceleration **', $this->definition);
            }
            if ($this->staticaccelerationsize > 1 && $this->staticaccelerationcount > 1) {
                // Check to see if this is the last item on the static acceleration keys array.
                if (end($this->staticaccelerationkeys) !== $key) {
                    // It isn't the last item.
                    // Move the item to the end of the array so that it is last to be removed.
                    unset($this->staticaccelerationkeys[$key]);
                    $this->staticaccelerationkeys[$key] = $key;
                }
            }
            return $result;
        } else {
            if ($this->perfdebug) {
                cache_helper::record_cache_miss('** static acceleration **', $this->definition);
            }
            return false;
        }
    }