protected boolean isApplicable(ValueConverter<?, ?> converter, GenericType<?> targetType) {

    Class<?> expectedTargetClass = targetType.getRetrievalClass();
    if (expectedTargetClass.isArray()) {
      expectedTargetClass = expectedTargetClass.getComponentType();
    }
    return isApplicable(converter.getTargetType(), expectedTargetClass);
  }
protected boolean isApplicable ( ValueConverter < ? , ? > converter , GenericType < ? > targetType ) { Class < ? > expectedTargetClass = targetType . getRetrievalClass ( ) ; if ( expectedTargetClass . isArray ( ) ) { expectedTargetClass = expectedTargetClass . getComponentType ( ) ; } return isApplicable ( converter . getTargetType ( ) , expectedTargetClass ) ; }
This method determines if the given {@code converter} is applicable for the given {@code targetType}.

@see ValueConverter#getTargetType()

@param converter is the {@link ValueConverter} to check.
@param targetType is the {@link GenericType} to match with {@link ValueConverter#getTargetType()}.
@return {@code true} if the given {@code converter} is applicable, {@code false} otherwise.