El resultado de Java SimpleDateFormat se desactiva en una hora (y sí, configuré la zona horaria)

Adivina esto: ¿por qué falla esta simple afirmación de JUnit?

public void testParseDate() throws ParseException {
    final SimpleDateFormat formatter = new SimpleDateFormat(
            "yyyy-MM-dd HH:mm:ss z");
    formatter.setTimeZone(UTC);
    final Calendar c = new GregorianCalendar();
    c.setTime(formatter.parse("2013-03-02 11:59:59 UTC"));

    assertEquals(11, c.get(HOUR_OF_DAY));
}

Hubiera esperado que la hora del día fuera 11, pero según JUnit, la hora del día es 12.

junit.framework.AssertionFailedError: expected:<11> but was:<12>
at junit.framework.Assert.fail(Assert.java:47)
    ... snip ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta