boolean (@NotNull PsiType type) { if (type instanceof GrTupleType) { List<PsiType> otherComponents = ((GrTupleType)type).getComponentTypes(); List<PsiType> componentTypes = getComponentTypes(); for (int i = 0; i < Math.min(componentTypes.size(), otherComponents.size()); i++) { PsiType componentType = componentTypes.get(i); PsiType otherComponent = otherComponents.get(i); if (otherComponent == null) { if (componentType != null && !TypesUtil.isClassType(componentType, CommonClassNames.JAVA_LANG_OBJECT)) return false; } else if (componentType != null && !componentType.isAssignableFrom(otherComponent)) return false; } return true; } return super.isAssignableFrom(type); }