private static @Nullable AddingAllTerminal createAddAll(TerminalBlock tb,
                                                            PsiMethodCallExpression call,
                                                            PsiExpression targetExpr) {
      PsiReferenceExpression collectionReference = tryCast(PsiUtil.skipParenthesizedExprDown(targetExpr), PsiReferenceExpression.class);
      if (collectionReference == null || tb.dependsOn(collectionReference)) return null;
      PsiLocalVariable target = tryCast(collectionReference.resolve(), PsiLocalVariable.class);
      if (target == null) return null;
      if (ContainerUtil.or(call.getArgumentList().getExpressions(), 
                           arg -> arg != targetExpr && VariableAccessUtils.variableIsUsed(target, arg))) {
        return null;
      }
      InitializerUsageStatus status = getInitializerUsageStatus(target, tb.getStreamSourceStatement());
      return new AddingAllTerminal(target, tb.getVariable(), call, tb.getStreamSourceStatement(), status);
    }
private static @Nullable AddingAllTerminal createAddAll(TerminalBlock tb,
                                                            PsiMethodCallExpression call,
                                                            PsiExpression targetExpr)