protected function queueASyncOperations(array $subjectsAndPredicatesOfChange, $contextAlias)
    {
        $operations = $this->getAsyncOperations();
        if (!empty($operations)) {
            $data = [
                'changes' => $subjectsAndPredicatesOfChange,
                'operations' => $operations,
                'storeName' => $this->storeName,
                'podName' => $this->podName,
                'contextAlias' => $contextAlias,
                'statsConfig' => $this->getStatsConfig()
            ];

            if (isset($this->queueName)) {
                $data[OP_QUEUE] = $this->queueName;
                $queueName = $this->queueName;
            } else {
                $configInstance = $this->getConfigInstance();
                $queueName =  $configInstance::getDiscoverQueueName();
            }

            $this->getDiscoverImpactedSubjects()->createJob($data, $queueName);
        }
    }