protected function createRequest($service, $requestId, array $parameters = [])
    {
        try {
            return $this->factory()->create($service, $requestId, $parameters);
        } catch (RuntimeException $exception) {
            $this->logBuildError($service, $requestId, $exception);
            throw $exception;
        } catch (\Exception $exception) {
            $this->logBuildError($service, $requestId, $exception);
            throw new RequestBuildException($exception);
        }
    }