List<VarExprent> (List<Exprent> lst) { List<VarExprent> res = new ArrayList<>(); List<Exprent> listTemp = new ArrayList<>(); for (Exprent expr : lst) { listTemp.addAll(expr.getAllExprents(true)); listTemp.add(expr); } for (Exprent exprent : listTemp) { if (exprent.type == Exprent.EXPRENT_VAR) { res.add((VarExprent)exprent); } } return res; }