values)) { $this->values[$key] = call_user_func($callback); } return $this->values[$key]; } /** @inheritDoc */ public function invalidate($key) { assert(is_string($key) || is_int($key)); unset($this->values[$key]); } /** @inheritDoc */ public function put($key, $value) { assert(is_string($key) || is_int($key)); $this->values[$key] = $value; } }