public static function forThe(
        MapsObjectsByIdentity $mapped,
        string ...$allowedClasses
    ): MapsObjectsByIdentity {
        foreach ($mapped->objects() as $object) {
            if (Whitelist::doesNotHave($object, $allowedClasses)) {
                $mapped = $mapped->removeThe($object);
            }
        }
        return new Whitelist($allowedClasses, $mapped);
    }