@Override
  @Nullable
  public ConversionResult isConvertible(@NotNull PsiType ltype,
                                        @NotNull PsiType rtype,
                                        @NotNull Position position,
                                        @NotNull GroovyPsiElement context) {
    PsiType lBound = TypesKt.promoteLowerBoundWildcard(ltype, context);
    PsiType rBound = TypesKt.promoteLowerBoundWildcard(rtype, context);
    if (lBound == null || rBound == null) return null;

    if (TypeConversionUtil.isAssignable(lBound, rBound)) return ConversionResult.OK;
    return null;
  }
@Override
  @Nullable
  public ConversionResult isConvertible(@NotNull PsiType ltype,
                                        @NotNull PsiType rtype,
                                        @NotNull Position position,
                                        @NotNull GroovyPsiElement context)