@Override
    public DateTime getTimestamp() {
        ensureValidTimestamp();
        return getFieldAs(DateTime.class, FIELD_TIMESTAMP).withZone(UTC);
    }
@Test
    public void testGetTimestamp() {
        try {
            final DateTime timestamp = message.getTimestamp();
            assertNotNull(timestamp);
            assertEquals(originalTimestamp.getZone(), timestamp.getZone());
        } catch (ClassCastException e) {
            fail("timestamp wasn't a DateTime " + e.getMessage());
        }
    }