private function getNewStateList(): array
    {
        $statesList = [];

        foreach ($this->getStatesAssertions() as $stateAssertion) {
            if ($stateAssertion->isValid($this)) {
                $statesList = \array_merge(
                    $statesList,
                    \array_flip($stateAssertion->getStatesList())
                );
            }
        }

        return \array_keys($statesList);
    }