Un bel grattacapo

Come faccio a sapere se una classe generica K implementerà o meno un'interfaccia?

Mi spiego. Vorrei poter scrivere qualcosa del tipo:

codice:
if ( K implementa Comparable )
   fai qualcosa
else
   fai qualcos'altro
Ovviamente non funziona "instanceof" perché K non è un riferimento ad un oggetto, ma una classe. Quindi non posso scrivere:

codice:
if K istanceof Comparable
E non funziona nemmeno

codice:
K pippo;
if pippo istanceof Comparable
Perché il compilatore mi dice che pippo potrebbe non essere istanziata(giustamente). E io non posso certo istanziare una classe generica!

Ho trovato il comparatore "isAssignableFrom", ma non riesco a passare la fase di compilazione... Questa è la sua sintassi:

codice:
if (   Nomeclasse.class.isAssignableFrom( obj.getClass() )    )
Come vedete ha sempre bisogno di un oggetto e non lavora su due classi.

Aggiungo che non è il mio caso quello di aggiungere una verifica al momento della dichiarazione della classe, del tipo:

codice:
public class NaturalComparator<K extends Comparable>
Perché non voglio che K implementi necessariamente Comparable. Voglio che il mio programma si comporti in modo diverso a seconda che lo implementi o meno!