private function areObjectStatesMatchingTheLimitation(array $objectStateIds, array $limitationValues)
    {
        foreach ($objectStateIds as $objectStateId) {
            // check using loose types as limitation values are strings and id's can be int
            if (!in_array($objectStateId, $limitationValues)) {
                return false;
            }
        }

        return true;
    }