static LPair filterPairB(Iterable> c, O pred) { new LPair x; if (c != null) for (Pair p : c) if (p != null && isTrue(callF(pred, p.b))) x.add(p); ret x; } static LPair filterPairB(IF1 pred, Iterable> c) { ret filterPairB(c, pred); } static LPair filterPairB(Iterable> c, IF1 pred) { new LPair x; if (c != null) for (Pair p : c) if (p != null && pred.get(p.b)) x.add(p); ret x; }