private function prepareTargetsForType(?array $targets, LimitationType $type): ?array
    {
        $isTargetAware = $type instanceof TargetAwareType;

        // BC: null for empty targets is still expected by some Limitations, so needs to be preserved
        if (null === $targets) {
            return $isTargetAware ? [] : null;
        }

        // BC: for TargetAware Limitations return only instances of Target, for others return only non-Target instances
        $targets = array_filter(
            $targets,
            function ($target) use ($isTargetAware) {
                $isTarget = $target instanceof Target;

                return $isTargetAware ? $isTarget : !$isTarget;
            }
        );

        // BC: treat empty targets after filtering as if they were empty the whole time
        if (!$isTargetAware && empty($targets)) {
            return null;
        }

        return $targets;
    }
private function prepareTargetsForType(?array $targets, LimitationType $type): ?array
    {
        $isTargetAware = $type instanceof TargetAwareType;

        // BC: null for empty targets is still expected by some Limitations, so needs to be preserved
        if (null === $targets) {
            return $isTargetAware ? [] : null;
        }

        // BC: for TargetAware Limitations return only instances of Target, for others return only non-Target instances
        $targets = array_filter(
            $targets,
            function ($target) use ($isTargetAware) {
                $isTarget = $target instanceof Target;

                return $isTargetAware ? $isTarget : !$isTarget;
            }
        );

        // BC: treat empty targets after filtering as if they were empty the whole time
        if (!$isTargetAware && empty($targets)) {
            return null;
        }

        return $targets;
    }
private function prepareTargetsForType ( ? array $ targets , LimitationType $ type ) : ? array { $ isTargetAware = $ type instanceof TargetAwareType ; // BC: null for empty targets is still expected by some Limitations, so needs to be preserved if ( null === $ targets ) { return $ isTargetAware ? [ ] : null ; } // BC: for TargetAware Limitations return only instances of Target, for others return only non-Target instances $ targets = array_filter ( $ targets , function ( $ target ) use ( $ isTargetAware ) { $ isTarget = $ target instanceof Target ; return $ isTargetAware ? $ isTarget : ! $ isTarget ; } ) ; // BC: treat empty targets after filtering as if they were empty the whole time if ( ! $ isTargetAware && empty ( $ targets ) ) { return null ; } return $ targets ; }
Prepare list of targets for the given Type keeping BC.

@param array|null $targets
@param \eZ\Publish\SPI\Limitation\Type $type

@return array|null
Prepare list of targets for the given Type keeping BC .