locator = $locator; } public function offsetExists($offset) { return $this->fetchArrayAccessible()->offsetExists($offset); } public function offsetGet($offset) { return $this->fetchArrayAccessible()->offsetGet($offset); } public function offsetSet($offset, $value) { $this->fetchArrayAccessible()->offsetSet($offset, $value); } public function offsetUnset($offset) { $this->fetchArrayAccessible()->offsetUnset($offset); } /** * @return \ArrayAccess */ private function fetchArrayAccessible() { $locator = $this->locator; return $locator(); } }