private function requestWithCache(
        string $uri,
        array $query = [],
        string $type = null,
        string $resourceId = null,
        string $locale = null
    ) {
        if ($type && $resourceId && $this->resourcePool->has($type, $resourceId, ['locale' => $locale])) {
            return $this->resourcePool->get($type, $resourceId, ['locale' => $locale]);
        }

        return $this->request('GET', $uri, ['query' => $query]);
    }
private function requestWithCache(
        string $uri,
        array $query = [],
        string $type = null,
        string $resourceId = null,
        string $locale = null
    ) {
        if ($type && $resourceId && $this->resourcePool->has($type, $resourceId, ['locale' => $locale])) {
            return $this->resourcePool->get($type, $resourceId, ['locale' => $locale]);
        }

        return $this->request('GET', $uri, ['query' => $query]);
    }
@param string      $uri
@param array       $query
@param string|null $type
@param string|null $resourceId
@param string|null $locale

@return ResourceInterface|ResourceArray