Hora baseado no horario de Brasilia (GMT+03:00)

Tenho um problema na JDK 1.1, quando utilizo a classe Calendar o metodo .HOUR me retorna a hora com 3horas de defasagem. Dei uma olhada nos parametros da classe SetTimeZone (GMT+03:00, como exemplo) mas nao obtive sucesso. Na JDK 1.3 funciona, mas preciso utiliza-la na JDK 1.1 por questoes de compatibilidade. Alguem, por favor tem uma receitinha para que eu possa ajustar a data de acordo a zona. Obrigado

Eu enfrentei este problema já e a solução adotada por mim não foi a mais elegante, mas tínhamos em pouco tempo (normal) que entregar o software

cal.add(Calendar.HOUR,3);