no exemplo que vc postou vc deve passar uma Collection como argumento no método desde que esta collection implemente a interface CharSequence
e o tipo de retorno vc deve atribuir tb a uma Collection que implemente a interface CharSequence
exemplo, esta seria uma chamada válida
//chamada válida por String implementa a interface CharSequence
Collection<String> colecao = getMethod(new ArrayList<String>());
esta seria uma chamada inválida
//chamada inválida porque Integer não implementa a interface CharSequence
Collection<Integer> colecao = getMethod(new ArrayList<Integer>());
//chamada inválida porque o tipo de retorno implementa a classe String mas Integer não implementa a interface CharSequence
Collection<String> colecao = getMethod(new ArrayList<Integer>());
ressaltando que a expressão pode ser um tipo E que implemente ou extenda a classe CharSequence(neste caso CharSequence é uma interface)