src/includes/traits/CacheMembers.php
protected function &cacheGet(string $primary_key, $sub_key)
    {
        if ($primary_key === 'x___keys' || $primary_key === 'x___refs') {
            throw $this->c::issue('Attempting to get a reserved primary key.');
        }
        $sub_key = (string) $sub_key; // Force string.

        if (isset($this->x___cache[$primary_key][$sub_key])) {
            return $this->x___cache[$primary_key][$sub_key];
        } else {
            $this->x___cache[$primary_key][$sub_key] = null;
            return $this->x___cache[$primary_key][$sub_key];
        }
    }
protected function &cacheGet(string $primary_key, $sub_key)
    {
        if ($primary_key === 'x___keys' || $primary_key === 'x___refs') {
            throw $this->c::issue('Attempting to get a reserved primary key.');
        }
        $sub_key = (string) $sub_key; // Force string.

        if (isset($this->x___cache[$primary_key][$sub_key])) {
            return $this->x___cache[$primary_key][$sub_key];
        } else {
            $this->x___cache[$primary_key][$sub_key] = null;
            return $this->x___cache[$primary_key][$sub_key];
        }
    }
Get a cache sub-key.

@since 150424 Initial release.

@param string     $primary_key Primary key.
@param string|int $sub_key     Sub-key to get.

@return mixed|null Value (by reference) for the cache sub-key.

@internal Returns by reference. The use of `&` is suggested when calling this utility.
See also: <http://php.net/manual/en/language.references.return.php>