Especificando um tipo genérico em java do objeto Class

Por que isso está errado?

    Class<? extends Number> type = Integer.class;
    ArrayList<type> = new ArrayList<>();

?

Não há como instanciar uma classe de um tipo específico dado um objeto de classe?

Obviamente, eu nunca faria isso diretamente, isso é apenas um exemplo para mostrar o que é necessário. No código real eu preciso eu não sei o nome do tipo. Por exemplo

    public void createAList(Class<? extends Number> type)  
{
    ArrayList<type> toReturn = new ArrayList<>();
    return toReturn;
}

questionAnswers(7)

yourAnswerToTheQuestion