sclass Prog_If_Multi implements Runnable { LPair, Runnable> conditions = new L; Runnable defaultBranch; public void run { for (Pair, Runnable> p : conditions) if (callF(p.a)) ret with callF(p.b); callF(defaultBranch); } void add(F0 condition, Runnable branch) { addPair(conditions, condition, branch); } }