static Map> listToMapOfListsWithKeyDetector(IPred keyDetector, L l, A preludeKey) {
new LinkedHashMap> map;
L currentList = null;
fOr (A a : l)
if (keyDetector.get(a))
map.put(a, currentList = new L);
else {
if (currentList == null)
map.put(preludeKey, currentList = new L);
currentList.add(a);
}
ret map;
}