Data com 2 dias a menos...Ajuda!

Boas a todos!

Estou com um problema relacionado com datas!

Recebo várias datas de uma base de dados (SAS) e no caso das datas 9999-12-31 recebo 9999-12-29.

Já pesquisei e sei que o Java permite esta data, agora qual é a razão para perder 2 dias?

else if ( rsmd.getColumnType(index) == Types.DATE )
{
      lstRow.add( resultSet.getDate(index, _cal) );
}

_cal é o Calendário com o GMT, porque sem este parametro perdia um dia em todas as datas!!!

Obrigado pela ajuda!