Przekazanie parametru rozwiązanego środowiska wykonawczego do metody, która ma typ wielu powiązań, błąd kompilacji

Mam metodę, która wygląda tak:

public static <T extends Enum<T> & Marshallable> String foo(Collection<T> collection, Class<? extends Marshallable>... marshallables);

Spodziewam się więc, że kolekcja przejdzie w Enum implementujący interfejs Marshallable. Działa dobrze, jeśli mam konkretne typy Enum w czasie wykonywania, ale napisałem metodę testową, która tworzy listę Enum (implementującą Marshallable) dynamicznie z obiektu klasy i mam problem z przekazaniem tej listy do powyższej metody.

@Test
public void fooTest() {
...
if (clazz.isEnum()) { // collection enum xml
    List<? extends Enum<? extends Marshallable>> enumList = (List<? extends Enum<? extends Marshallable>>) Arrays.asList(clazz.getEnumConstants());
--> String enumListXml = foo(enumList, clazz);
...

Zaznaczona linia spowoduje błąd kompilacji. Nie mogłem wymyślić, jak przekazać listę bez zmiany podpisów metod.

questionAnswers(1)

yourAnswerToTheQuestion