Mam w aplikacji klasę

public class MovieCountry extends MovieInfo {
  private CountryType country;
}

i mam z mapowaną listę tych obiektów w encji

public class MovieEntity {
  private Set<MovieCountry> countries;
}

teraz\ chciałbym przefiltrować filmy, które posiadają określony kraj na liście. Mam stworzony pseudokod, który nie działa

public static Predicate getFindPredicate(
        final Root<MovieEntity> root,
        final CriteriaBuilder cb
        final List<CountryType> countries
) {
    final List<Predicate> predicates = new ArrayList<>();
    if(countries != null && !countries.isEmpty()) {
        final List<Predicate> orPredicates =
                countries
                        .stream()
                        .map(country -> cb.equal(root.get(MovieEntity_.countries), country))
                        .collect(Collectors.toList());
        predicates.add(cb.or(orPredicates.toArray(new Predicate[orPredicates.size()])));
    }
    return cb.and(predicates.toArray(new Predicate[predicates.size()]));
}

Jak widać, chcę sprawdzić czy na liście państw encji ```
MovieEntity


MovieEntity: https://pastebin.com/CvhEQFZD metamodel MovieEntity_: https://pastebin.com/ZyJL0nmM

Chwilę pogłówkowałem i chciałem zrobić cos takiego. Stworzyłem metamodel do ```
MovieCountry
public abstract class MovieCountry_ extends MovieInfo_ {
    public static volatile SingularAttribute<MovieCountry, CountryType> country;
}

i chciałem filtrowanie edytować w ten sposób

final List<Predicate> orPredicates =
                    countries
                            .stream()
                            .map(country -> cb.equal(root.get(MovieCountry_.country), country))
                            .collect(Collectors.toList());

ale IntelliJ wyświetla mi błąd

Cannot resolve method 'get(javax.persistence.metamodel.SingularAttribute<com.core.jpa.entity.movie.MovieCountry,com.common.dto.movie.CountryType>)'

https://zapodaj.net/d61aee33c2497.png.html

Jak prawidłowo sprawdzić, czy znajduje się obiekt na liście?