GSON desserializando o valor-chave para o objeto personalizado

Preciso desserializar o json, que é uma matriz de valores de data / longo. Aqui está um exemplo do JSON retornado:

[{"2011-04-30T00:00:00-07:00":100}, {"2011-04-29T00:00:00-07:00":200}]

Usando o GSON, sou capaz de desserializar isso para umList<Map<Date,String>>, mas gostaria de poder convertê-lo emList<MyCustomClass> igual a

public class MyCustomClass() { 
    Date date;
    Long value;
}

Parece que não consigo encontrar uma maneira de instruir o GSON a mapear a chave / valor do mapa JSON para os campos de data / valor em minha classe personalizada. Existe uma maneira de fazer isso ou uma lista de mapas é a única rota?