static <S,T> TypeAdapter<S,T> createAdapter(Class<? extends S> sourceType, Class<? extends T> targetType) {
    """
	Get an adapter capable of transforming instances of a source type into
	instances of a target type.
	
	@param sourceType
	The type of the instances that the adapter should be able to
	transform.
	@param targetType
	The type of instances that the adapter should be able to
	create.
	@return An adapter capable of transforming instances of the {@code sourceType}
	into instances of the {@code targetType}.
	@throws CannotAdaptClassesException
	when no adapter capable of carrying out such transformation
	is available.
    """
		return doCreateAdapter(targetType,AdapterMethodValidator.newInstance(targetType, sourceType));
	}
static <S,T> TypeAdapter<S,T> createAdapter(Class<? extends S> sourceType, Class<? extends T> targetType) {
		return doCreateAdapter(targetType,AdapterMethodValidator.newInstance(targetType, sourceType));
	}
static < S , T > TypeAdapter < S , T > createAdapter ( Class < ? extends S > sourceType , Class < ? extends T > targetType ) { return doCreateAdapter ( targetType , AdapterMethodValidator . newInstance ( targetType , sourceType ) ) ; }
Get an adapter capable of transforming instances of a source type into
instances of a target type.

@param sourceType
The type of the instances that the adapter should be able to
transform.
@param targetType
The type of instances that the adapter should be able to
create.
@return An adapter capable of transforming instances of the {@code sourceType}
into instances of the {@code targetType}.
@throws CannotAdaptClassesException
when no adapter capable of carrying out such transformation
is available.
Get an adapter capable of transforming instances of a source type into instances of a target type .