DateValueConverter extends AbstractValueConverter<OffsetDateTime> { @Override public OffsetDateTime convertValue(final Value value, final Thing thing, final Class<? extends OffsetDateTime> desiredType) throws ValueConversionException { try { return OffsetDateTime.parse(value.stringValue(), DateTimeFormatter.ISO_OFFSET_DATE_TIME); } catch (DateTimeParseException e) { throw new ValueConversionException("Issue converting value of statement into an OffsetDateTime object.", e); } } DateValueConverter(); @Override OffsetDateTime convertValue(final Value value, final Thing thing,
            final Class<? extends OffsetDateTime> desiredType); @Override Value convertType(OffsetDateTime type, Thing thing);  }
@Test public void convertValue() { OffsetDateTime expected = OffsetDateTime.now(); Literal literal = vf.createLiteral(expected); OffsetDateTime actual = valueConverter.convertValue(literal, null, OffsetDateTime.class); assertEquals(expected, actual); }