@Override
  protected DfType filterDfTypeOnAssignment(DfaVariableValue var, @NotNull DfType dfType) {
    if (ControlFlow.isTempVariable(var) || (!(dfType instanceof DfReferenceType)) ||
        var.getPsiVariable() instanceof PsiParameter && var.getPsiVariable().getParent().getParent() instanceof PsiLambdaExpression) {
      // Pass type normally for synthetic lambda parameter assignment
      return dfType;
    }
    return ((DfReferenceType)dfType).dropTypeConstraint();
  }
@Override
  protected DfType filterDfTypeOnAssignment(DfaVariableValue var, @NotNull DfType dfType)