private static TypeArgument apply(
java.lang.reflect.Type type, Substitution<ReferenceType> substitution) {
if (type instanceof java.lang.reflect.TypeVariable) {
ReferenceType referenceType = substitution.get(type);
if (referenceType != null) {
<BUG>return new ReferenceArgument(referenceType);
}
return new ReferenceArgument(TypeVariable.forType(type));
</BUG>
}

private static TypeArgument apply(
java.lang.reflect.Type type, Substitution<ReferenceType> substitution) {
if (type instanceof java.lang.reflect.TypeVariable) {
ReferenceType referenceType = substitution.get(type);
if (referenceType != null) {
return TypeArgument.forType(referenceType);
}
return TypeArgument.forType(TypeVariable.forType(type));
}
