PropertyConverterManager { public boolean isTargetTypeSupported(TypeLiteral<?> targetType) { return converters.containsKey(targetType) || transitiveConverters.containsKey(targetType) || createDefaultPropertyConverter(targetType) != null; } PropertyConverterManager(ServiceContext serviceContext);  PropertyConverterManager(ServiceContext serviceContext, boolean init); @SuppressWarnings("unchecked") void register(TypeLiteral<T> targetType, PropertyConverter<T> converter); boolean isTargetTypeSupported(TypeLiteral<?> targetType); Map<TypeLiteral<?>, List<PropertyConverter<?>>> getPropertyConverters(); List<PropertyConverter<T>> getPropertyConverters(TypeLiteral<T> targetType); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void customTypeWithFactoryMethodOfIsRecognizedAsSupported() { ServiceContext serviceContext = ServiceContextManager.getServiceContext(getClass().getClassLoader()); PropertyConverterManager manager = new PropertyConverterManager(serviceContext, true); assertThat(manager.isTargetTypeSupported(TypeLiteral.of(MyType.class))) .isTrue(); }