### Question:
TypedConverter implements Converter<A, B> { @Nullable public final B convert( @Nullable A source ) throws ConversionException { return (source == null) ? doConvertNull() : doConvert( source ); } TypedConverter( @Nonnull Class<A> fromClass, @Nonnull Class<B> toClass ); Class<A> getFromClass(); Class<B> getToClass(); @Nullable abstract B doConvert( @Nonnull A source ); @Nullable B doConvertNull(); @Nullable final B convertCasted( @Nullable Object source ); @Nullable final B convert( @Nullable A source );  }### Answer:
@Test public void convert() { Assert.assertEquals( "20", converter.convert( 20 ) ); }
@Test public void convertNull() { Assert.assertNull( converter.convert( null ) ); }