Por que o Predicado <? super SomeClass> não aplicável a Object?

Suponha que tenhamos um predicado declarado comoPredicate<? super SomeClass>. Eu esperaria ingenuamente que fosse aplicável a qualquer superclasse deSomeClass hierarquia, incluindoObject.

No entanto, esse predicado não é aplicável aObject. Estou tendo o erro a seguir:

O teste do método (captura nº 3-de? Super SomeClass) no tipo Predicate não é aplicável aos argumentos (Object)

Demo.

Porque éPredicate<? super SomeClass> não aplicável a uma instância deObject?

O código:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.net.URL;
import java.util.function.Predicate;


/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        Predicate<? super URL> p = u -> u.getFile().isEmpty();
        p.test(new Object());
    }
}

questionAnswers(1)

yourAnswerToTheQuestion