Java: Clase <T> y Clase: Diferencia cuando se usa desde dentro / fuera de la clase

Tengo una clase que necesita usar unClass<T> parámetro (ver mi anterior semi-relacionadopregunta). Es:

public class BaseTable<T extends TableEntry>
{
    protected Class<T> mClass;
    ...

    public BaseTable(int rows, int cols, Class<T> clasz)
    {
        ...
        mClass = clasz;
    }

    public BaseTable(int rows, int cols)
    {
        this(rows, cols, StringTableEntry.class);
        //Does NOT compile:
        //expected [int, int, Class<T>], but got
        //[int, int, Class<blah.blah.StringTableEntry>]
    }
...
}

Me pregunto por qué el constructor (con 2 parámetros) no funciona, pero cuando invoco exactamente lo mismo de una clase externa, como esto:

    mSomeTable = new BaseTable<StringTableEntry>(2, 2, StringTableEntry.class);

Se compila y corre sin quejarse. ¿Por qué y cómo evitar esto?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta