private function _addExclusionStrategy(ExclusionStrategyInterface $strategy): void
    {
        if (null === $this->exclusionStrategy) {
            $this->exclusionStrategy = $strategy;

            return;
        }

        if ($this->exclusionStrategy instanceof DisjunctExclusionStrategy) {
            $this->exclusionStrategy->addStrategy($strategy);

            return;
        }

        $this->exclusionStrategy = new DisjunctExclusionStrategy([
            $this->exclusionStrategy,
            $strategy,
        ]);
    }
private function _addExclusionStrategy(ExclusionStrategyInterface $strategy): void
    {
        if (null === $this->exclusionStrategy) {
            $this->exclusionStrategy = $strategy;

            return;
        }

        if ($this->exclusionStrategy instanceof DisjunctExclusionStrategy) {
            $this->exclusionStrategy->addStrategy($strategy);

            return;
        }

        $this->exclusionStrategy = new DisjunctExclusionStrategy([
            $this->exclusionStrategy,
            $strategy,
        ]);
    }
private function _addExclusionStrategy ( ExclusionStrategyInterface $ strategy ) : void { if ( null === $ this -> exclusionStrategy ) { $ this -> exclusionStrategy = $ strategy ; return ; } if ( $ this -> exclusionStrategy instanceof DisjunctExclusionStrategy ) { $ this -> exclusionStrategy -> addStrategy ( $ strategy ) ; return ; } $ this -> exclusionStrategy = new DisjunctExclusionStrategy ( [ $ this -> exclusionStrategy , $ strategy , ] ) ; }
Set or add exclusion strategy.

@param ExclusionStrategyInterface $strategy
Set or add exclusion strategy .