private function handleGetRequest(Rest\RestRequest $request)
    {
        if (true === $request->hasIdentifier()) {
            if (false === $request->isRelationship() && false === $request->hasFilters()) {
                return $this->findRecord($request->getEntityType(), $request->getIdentifier());
            }
            if (true === $request->isRelationshipRetrieve()) {
                return $this->findRelationship($request->getEntityType(), $request->getIdentifier(), $request->getRelationshipFieldKey());
            }
            throw AdapterException::badRequest('No GET handler found.');
        } else {
            if (true === $request->isAutocomplete()) {
                // @todo Eventually add pagination (limit/skip)
                return $this->autocomplete($request->getEntityType(), $request->getAutocompleteKey(), $request->getAutocompleteValue());
            }
            if (true === $request->isQuery()) {
                return $this->findQuery($request->getEntityType(), $request->getQueryCriteria(), $request->getFieldset(), $request->getSorting(), $request->getPagination(), $request->getInclusions());
            }
            return $this->findAll($request->getEntityType(), [], $request->getFieldset(), $request->getSorting(), $request->getPagination(), $request->getInclusions());
        }
        throw AdapterException::badRequest('No GET handler found.');
    }