private boolean returnsUnboundType(@NotNull LookupElement item) {
      JavaMethodCallElement call = item.as(JavaMethodCallElement.CLASS_CONDITION_KEY);
      if (call != null && !call.getInferenceSubstitutor().equals(PsiSubstitutor.EMPTY)) {
        PsiType callType = TypeConversionUtil.erasure(call.getSubstitutor().substitute(call.getObject().getReturnType()));
        return callType == null || !ContainerUtil.exists(myExpectedTypes, i -> canBeExpected(callType, i));
      }
      return false;
    }
private boolean returnsUnboundType(@NotNull LookupElement item)