static A syncGet(L l, int idx) { if (l == null || idx < 0) null; synchronized(l) { ret idx < l(l) ? l.get(idx) : null; } } static B syncGet(Map map, A a) { if (map == null) null; synchronized(map) { ret map.get(a); } }