diff --git a/java/typeMigration/src/com/intellij/refactoring/typeMigration/rules/guava/GuavaFluentIterableConversionRule.java b/java/typeMigration/src/com/intellij/refactoring/typeMigration/rules/guava/GuavaFluentIterableConversionRule.java index 2a5ef5292606..66ce973e1bb9 100644 --- a/java/typeMigration/src/com/intellij/refactoring/typeMigration/rules/guava/GuavaFluentIterableConversionRule.java +++ b/java/typeMigration/src/com/intellij/refactoring/typeMigration/rules/guava/GuavaFluentIterableConversionRule.java @@ -51,7 +51,7 @@ public class GuavaFluentIterableConversionRule extends BaseGuavaTypeConversionRu private static final Map DESCRIPTORS_MAP = new HashMap<>(); - public static final Set CHAIN_HEAD_METHODS = ContainerUtil.newHashSet("from", "of"); + public static final Set CHAIN_HEAD_METHODS = ContainerUtil.newHashSet("from", "of", "fromNullable"); public static final String FLUENT_ITERABLE = "com.google.common.collect.FluentIterable"; public static final String STREAM_COLLECT_TO_LIST = "$it$.collect(java.util.stream.Collectors.toList())"; @@ -352,7 +352,8 @@ public class GuavaFluentIterableConversionRule extends BaseGuavaTypeConversionRu return null; } final PsiClass aClass = method.getContainingClass(); - if (aClass == null || !FLUENT_ITERABLE.equals(aClass.getQualifiedName())) { + if (aClass == null || !(FLUENT_ITERABLE.equals(aClass.getQualifiedName()) || + GuavaOptionalConversionRule.GUAVA_OPTIONAL.equals(aClass.getQualifiedName()))) { return null; } break;