static TreeMap mapLike indexByCalculatedField_treeMap(O f, Iterable c) {
  new TreeMap map;
  if (c != null) for (O a : c) {
    O val = callF(f, a);
    if (val != null)
      map.put(val, a);
  }
  ret map;
}