static ArrayList cloneList(Iterable l) { ret l instanceof Collection ? cloneList((Collection) l) : asList(l); } static ArrayList cloneList(Collection l) { if (l == null) ret new L; synchronized(collectionMutex(l)) { ret new ArrayList(l); } }