@Override
    void iteration(CFGBuilder builder) {
      if (myStreamSource != null) {
        builder.assignTo(myParameter).pop();
        buildStreamCFG(builder, myChain, myStreamSource, false);
      } else {
        PsiExpression arg = myCall.getArgumentList().getExpressions()[0];
        PsiType outType = StreamApiUtil.getStreamElementType(myCall.getType());
        builder.invokeFunction(1, arg, Nullability.NULLABLE)
               .ifNotNull()
                 .pushUnknown()
                 .ifConditionIs(true)
                   .doWhileUnknown()
                     .push(DfTypes.typedObject(outType, Nullability.UNKNOWN))
                     .chain(myNext::iteration)
                   .end()
                 .end()
               .end();
      }
    }
@Override
    void iteration(CFGBuilder builder)