@Override
    @Nullable
    public Object convert(@Nullable String value) {
        if (isNullOrEmpty(value)) {
            return null;
        }

        LOG.debug("Trying to parse date <{}> with pattern <{}>, locale <{}>, and timezone <{}>.", value, dateFormat, locale, timeZone);
        final DateTimeFormatter formatter;
        if (containsTimeZone) {
            formatter = DateTimeFormat
                    .forPattern(dateFormat)
                    .withDefaultYear(YearMonth.now(timeZone).getYear())
                    .withLocale(locale);
        } else {
            formatter = DateTimeFormat
                    .forPattern(dateFormat)
                    .withDefaultYear(YearMonth.now(timeZone).getYear())
                    .withLocale(locale)
                    .withZone(timeZone);
        }

        return DateTime.parse(value, formatter);
    }
@Test
    public void testBasicConvert() throws Exception {
        final DateConverter converter = new DateConverter(config("YYYY MMM dd HH:mm:ss", null, null));
        final DateTime result = (DateTime) converter.convert("2013 Aug 15 23:15:16");
        assertThat(result)
                .isNotNull()
                .isEqualTo("2013-08-15T23:15:16.000Z");
    }