static <A> void putUnlessZero(Map<A, Int> map, A key, int value) {
  if (map != null && key != null && value != 0) map.put(key, value);
}

static <A> void putUnlessZero(Map<A, Double> map, A key, double value) {
  if (map != null && key != null && value != 0) map.put(key, value);
}