ConversionResult (@NotNull PsiType targetType, @NotNull PsiType actualType, @NotNull PsiElement context, @NotNull Position position) { if (!(context instanceof GroovyPsiElement)) return null; if (targetType.equals(actualType)) return ConversionResult.OK; for (GrTypeConverter converter : GrTypeConverter.EP_NAME.getExtensions()) { if (!converter.isApplicableTo(position)) continue; final ConversionResult result = converter.isConvertible(targetType, actualType, position, (GroovyPsiElement)context); if (result != null) { return result; } } return null; }